繁体   English   中英

LINQ to SQL:插入主表和外表

[英]LINQ to SQL: Insert into Primary and Foreign table

我试图同时将数据插入主表和从属表。 两个表之间确实存在数据库关系,并且表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'

看起来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是什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM