我是 linqtosql 的新手。我有一个数据库模式,
一名员工可以属于多个团队,而团队可以属于多个员工。
所以实际上我有一个,
员工表:EmpID(PK)、EmpName 等。
EmployeesTeam 表:EmpID(FK),TeamID(FK)(这两个组成复合PK)
团队表:TeamID(PK)、TeamName等
我向 Employee 和 Team 表添加了行,但我不知道如何向EmployeesTeam 表添加行。
我是 linqtosql 的新手。我有一个数据库模式,
一名员工可以属于多个团队,而团队可以属于多个员工。
所以实际上我有一个,
员工表:EmpID(PK)、EmpName 等。
EmployeesTeam 表:EmpID(FK),TeamID(FK)(这两个组成复合PK)
团队表:TeamID(PK)、TeamName等
我向 Employee 和 Team 表添加了行,但我不知道如何向EmployeesTeam 表添加行。
与 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 你必须正常处理它们