2

我是 linqtosql 的新手。我有一个数据库模式,

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

所以实际上我有一个,

员工表:EmpID(PK)、EmpName 等。

EmployeesTeam 表:EmpID(FK),TeamID(FK)(这两个组成复合PK)

团队表:TeamID(PK)、TeamName等

我向 Employee 和 Team 表添加了行,但我不知道如何向E​​mployeesTeam 表添加行。

4

1 回答 1

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 你必须正常处理它们

于 2009-07-07T07:17:41.813 回答