LINQ to SQL:插入主要和外部 table
LINQ to SQL: Insert into Primary and Foreign table
我正在尝试将数据同时插入主 table 和从属 table。两个 table 之间确实存在数据库关系,并且 table Employee 有一个标识列作为主键。
我正在尝试:
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();
但我得到的错误是:
Cannot implicitly convert type 'Database.Skill' to
'System.Data.Linq.EntitySet'
看起来Database.Employee.Skills
是一个集合,而不是一个单独的对象。 IE。在模型中它看起来像:
public class Employee
{
...
public EntitySet<Skill> Skills { get; set; } // collection of skills
}
你的代码行
emp.Skills = skill;
正在尝试将集合实例化为单个实例,因此您遇到了转换错误。
因此,添加技能的正确方法应该是
emp.Skills.Add(skill);
具体实施取决于 Database.Employee.Skills
是什么。
我正在尝试将数据同时插入主 table 和从属 table。两个 table 之间确实存在数据库关系,并且 table Employee 有一个标识列作为主键。
我正在尝试:
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();
但我得到的错误是:
Cannot implicitly convert type 'Database.Skill' to 'System.Data.Linq.EntitySet'
看起来Database.Employee.Skills
是一个集合,而不是一个单独的对象。 IE。在模型中它看起来像:
public class Employee
{
...
public EntitySet<Skill> Skills { get; set; } // collection of skills
}
你的代码行
emp.Skills = skill;
正在尝试将集合实例化为单个实例,因此您遇到了转换错误。
因此,添加技能的正确方法应该是
emp.Skills.Add(skill);
具体实施取决于 Database.Employee.Skills
是什么。