8

두 개의 복합 외래 키가 포함 된 데이터베이스가 있습니다.Entity Framework 데이터베이스 첫 번째 - 복합 외래 키

ALTER TABLE [dbo].[WorkingRosters] WITH NOCHECK ADD CONSTRAINT 
[FK_WorkingRoster_ShiftLeaveCode] FOREIGN KEY([OrganizationID], [ShiftLeaveCode]) 
REFERENCES [dbo].[ShiftLeaveCodes] ([OrganizationID], [Code]) 
GO 

나는이 데이터베이스에서 모델을 생성하는 엔티티 프레임 워크 (5) 데이터베이스 - 우선 사용을 시도하고있다 : 예를 들어, 여기에 외부 키의 생성 스크립트입니다. 그러나 복합 외래 키에 대한 연관은 모든 테이블 및 다른 단순 외래 키와 함께 생성되지 않습니다.

어떻게 I 중 하나를

  1. 수동으로 내가 매핑을 가질 수 있도록
  2. 엔티티 프레임 워크가 제대로이 외국 키를 생성 한 (고통)을 edmx 뒤에 XML에서 이러한 복합 외부 키를 만들

고마워요!

+1

구체적으로 어떻게 * 귀하의 엔티티를 생성하고 있습니까? edmx 편집기 사용? 사용자 지정 코드 생성 전략을 사용하고 있습니까? – Heather

+0

'OrganizationID'와'Code' 복합 기본 키가 당신의'ShiftLeaveCodes' 테이블입니까? 그렇지 않은 경우 (예 : 고유 인덱스 일 경우) 작동하지 않습니다. –

+0

컨텍스트 메뉴에서 '데이터베이스에서 모델 업데이트'를 사용하여 데이터베이스에서 엔티티가 생성됩니다. –

답변

1

Entity Framework 데이터베이스 First는 필요에 따라 고유 한 키로 동작하지 않습니다. 탐색 속성이되도록하려면 외부 키로 설정해야합니다.

이제 NavPrs 만 필요합니다. 2) 접합 테이블이 엔티티로 필요합니다.

1) 이렇게하려면 외래 키를 복합 기본 키로 설정하십시오.

2)이 키를 외래 키로두고 접합 테이블에 대한 ID 유형 컬럼을 선언하고 기본 키로 설정하십시오.

귀하에게 적합합니다

관련 문제