1

我正在尝试同时将数据插入到主表和从属表中。两个表之间确实存在数据库关系,并且表 Employee 有一个 Identity 列作为主键。

我正在努力:

        Database.Employee emp = new Database.Employee()
        {
            x = DateTime.Now,
            y = "xxx"
        };
        Database.Skill skill = new Database.Skill()
        {
            Skill = "Reading"
        };
        emp.Skills = skill;  //Error on this line
        dc.Employees.InsertOnSubmit(emp);
        dc.SubmitChanges();

但我得到的错误是:

无法将类型“Database.Skill”隐式转换为“System.Data.Linq.EntitySet”

4

1 回答 1

1

它看起来像是Database.Employee.Skills一个集合,而不是单个对象。即在模型中它看起来像:

public class Employee
{
     ...
     public EntitySet<Skill> Skills { get; set; } // collection of skills
}

你的代码行

emp.Skills = skill;

正在尝试将集合实例化为单个实例,因此您收到转换错误。

因此,添加技能的正确方法是

emp.Skills.Add(skill);

确切的实现取决于是什么Database.Employee.Skills

于 2015-09-28T13:17:09.780 回答