我是linqtosql的新手。 我有一个数据库架构,
员工可以属于多个团队,团队可以属于多个员工。
所以实际上我有一个,
员工表:EmpID(PK),EmpName等。
EmployeesTeam表:EmpID(FK),TeamID(FK)(这两个使复合PK)
团队表:TeamID(PK),TeamName等
我向Employee和Team表添加了行,但我不知道如何向EmployeesTeam表中添加行。
答案 0 :(得分:2)
与EF不同,LINQ-to-SQL在表格之上是一个直接的层。您应该在数据上下文中有一个EmployeeTeams条目,因此您只需添加对象:
ctx.EmployeeTeams.InsertOnSubmit(
new EmployeeTeam { Employee = emp, Team = team });
或者,您可以使用导航属性:
// this should alternatively be able to use the keys, instead of the objects
emp.Teams.Add(new EmployeeTeam {Employee = emp, Team = team});
在EF中,您可以隐藏这些桥接表(即emp.Teams.Add(team)
);但是使用LINQ-to-SQL,你必须正常处理它们