2011-03-16 2 views
0

가정하자 나는 3 개 테이블이 :
직원 (ID1, ...)
부 (ID2, ...)
EmployeeDepartment (ID1, ID2, datecreated, ...) 나는 다음과 같은 한WCF Ria Service : 관계를 변경하는 방법은 무엇입니까?

종류 데이터 senario :

직원 :
(1, '밥', ...)

부서 :
(1, 'HR')
(2, '마케팅') 012 3, (3 '개발')

EmployeeDepartment :
(1, 1 '2011-01-01')

직원 데이터 형식에 대한 UI에

, 사용자가 변경할 수 있도록하는 콤보가 직원 부서.

그래서 지금은 마케팅이 직원의 부서를 변경하려면, 그것은 의미 :
(1, 1, '2011-01-01') -> (1, 2, '2011-01-01')

논리적으로는 엔터티 EmployeeDepartment (1, 1, '2011-01-01')를 업데이트해야합니다.
다음 코드를 사용하는 경우 :
EmployeeDepartment.id2 = 2;
다음 submitchanges, 나는 오류가 발생합니다 : 키를 변경할 수 없습니다. ('2011-01-01'을 1, 2) ('2011-01-01', 1, 1)을 삭제 한 다음 추가 :

그런 다음 다른 방법을 시도
EmployeeDepartments.Remove ((1 1 , '2011-01-01'));
EmployeeDepartments.Add (new (1, 2, '2011-01-01'));

다음 데이터베이스에서 나는 EmployeeDepartment에 두 개의 레코드가 변경 사항을 제출
(1, 1, '2011-01-01')
(1, 2, '2011-01-01')

아니요 (1, 2, '2011-01-01').

이 문제를 해결하는 방법은 무엇입니까?

답변

0

EmployeeDepartment에게 현재 보유하고있는 복합 요소 대신 자체 키를 제공하고 직원 및 부서와 각각의 ID로 외래 키 관계를 갖는 방법은 어떻습니까?

+0

감사합니다. 좋은 생각. 시도 할 것이다. – KentZhou

+0

작동 중입니다. Thanls. – KentZhou