2009-07-07 2 views
2

linqtosql을 처음 사용합니다. 데이터베이스 스키마가 있습니다.linqtosql에 다 대다 관계가있는 테이블에 행을 삽입하는 방법

직원이 둘 이상의 팀에 속할 수 있고 팀이 둘 이상의 직원에 속할 수 있습니다.

그래서 실제로 내가 가지고,

Employee 테이블 :다는 EmpID (PK), EmpName, 등

EmployeesTeam 테이블 :다는 EmpID (FK), TeamID (FK) (이 두 가지가 복합 PK를 할)

팀 테이블 : 등 TeamID (PK), TeamName는

나는 직원과 팀 테이블에 행을 추가,하지만 난이 EmployeesTeam 테이블에 행을 추가하는 방법을 잘 모릅니다.

답변

2

EF와 달리 LINQ-to-SQL은 테이블 위에 매우 직접적인 계층입니다. , EF에서

// this should alternatively be able to use the keys, instead of the objects 
emp.Teams.Add(new EmployeeTeam {Employee = emp, Team = team}); 

: 당신은 탐색 속성을 사용할 수 있습니다,

ctx.EmployeeTeams.InsertOnSubmit(
     new EmployeeTeam { Employee = emp, Team = team }); 

을 다른 방법 : 당신은 데이터 컨텍스트에 EmployeeTeams의 항목이 있어야합니다, 그래서 당신은 단지에 개체를 추가 할 수 있습니다 이 브리징 테이블을 숨길 수 있습니다 (예 : emp.Teams.Add(team)). 그러나 LINQ - 투 - SQL 당신은 일반적으로

+0

첫 번째 방법 작품 :

이 MSDN 블로그 항목을 읽기 . 내 emp 클래스에는 팀 테이블에 대한 직접 링크가 없으므로 사용하지 마십시오 emp.Teams.Add (새 EmployeeTeam {Employee = emp, Team = team}); – San

+0

탐색 예제에서 팀은 EmployeeTeam과의 관계를 나타냅니다. 당신은 DBML에서 두 끝을 (별도로) 가능하게 할 수있다. –

1

다른 사람이 이미이 문제를 해결 그들과 거래를해야합니다 : Part 1, Part 2

HTH

관련 문제