2009-11-16 2 views
0

로그인, 로그인 롤 및 역할의 세 테이블이 있습니다. 로그인은 LoginRoles에 조인하고 LoginRoles는 역할에 조인합니다. LoginRoles는 many-to-many 테이블이며, 열을 고유 한 것으로 제한하려고합니다.Linq DBML 기본 키를 사용하여 2 개의 열로 구성된 테이블 매핑

LoginRoles : MEMBERID (INT), 역할 ID (INT)

이 기본 회원 데이터베이스에 aspnet_UsersInRoles 테이블과 비슷하다 Table 3.2

내가 모두로이 테이블의 기본 키를 설정 열. DBML 다이어그램으로 테이블을 드래그하면

나는 그림으로 표현이 기본 키를 볼 수 없습니다 내가 경고 (및 기타 유사한 것) 얻을 :

경고 1 DBML1062 : type 속성 'LoginRole을'의 Type 요소 'Login'의 연관 요소 'Login_LoginRole'에 기본 키가 없습니다. 연결에 대한 코드는 생성되지 않습니다. 0 0

기본 키를 인식하는 방법에 대한 아이디어가 있으십니까?

답변

1

두 개의 값 키를 테이블의 기본 키로 사용하려고합니다. 이것은 실제로 SQL 테이블 정의에서 수행되어야합니다. 테이블 정의 내에서 마우스 오른쪽 버튼을 클릭하면 인덱스/키 옵션에 액세스 할 수 있습니다. 거기에서 기본 키로 사용할 2 개의 열을 지정할 수 있습니다. 당신이 삭제 /를 DBML 디자이너에 다시 테이블을 드롭 재와 코드를 업데이트 할 필요가 테이블을 업데이트하면

ALTER TABLE LoginRoles 
ADD CONSTRAINT pk_MemberRole PRIMARY KEY (MemberID,RoleID) 

:

또는 당신은 작은 SQL 스크립트, 뭔가를 실행할 수 있습니다.

+0

감사합니다. 단순히 테이블 디자인에서 2 개의 필드를 선택하기 만하면 오른쪽 키를 누른 다음 SET PRIMARY KEY로 충분하지 않았습니다 ... 스크립트가 제대로 작동했습니다. – CRice

관련 문제