2009-07-07 77 views
2

我是linqtosql的新手。 我有一个数据库模式,其中,如何在具有多对多关系的表中插入行linqtosql

员工可以属于多个团队,团队可以属于多个员工。

所以其实我有一个,

Employee表:的EmpID(PK),EmpName等。

EmployeesTeam表:的EmpID(FK),TeamID(FK)(这两种制造复合PK)

团队表:TeamID(PK),TeamName等

我说行员工和团队表,但我不知道我怎么可以添加行到EmployeesTeam表。

回答

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到SQL,你必须处理它们通常

+0

第一种方法作品。 在我的班级没有直接链接到团队表, 所以我不能使用 emp.Teams.Add(新员工队伍{Employee = emp,Team = team}); – San 2009-07-07 07:31:54

相关问题