[c#] Entity Framework-수동으로 탐색 속성 추가

데이터베이스에서 Entity Framework Model (4.0)을 생성했습니다. 데이터베이스를 디자인하지 않았고 스키마를 제어 할 수 없었지만 외래 키 제약 조건이 정의되지 않은 테이블이 몇 개 있지만 암시 적 관계가 정의되어 있습니다.

예를 들면 :

다음 열이있는 People이라는 테이블이 있습니다. GenderID RaceID

Gender 및 Race에 대한 테이블이 있지만 People 테이블에는 외래 키가 없습니다.

모델을 가져올 때 이러한 관계에 대한 탐색 속성이 추가되지 않았습니다. 수동으로 추가하려고했지만 From Role 및 To Role이 비활성화되어 있습니다. 직접 관계를 추가하는 방법을 잘 모르겠습니다. 어떻게해야합니까?



답변

네-그렇게 간단하지 않습니다.

수행하는 작업은 다음과 같습니다.

1-디자이너를 마우스 오른쪽 버튼으로 클릭하고 추가 -> 연결

2-연결 및 카디널리티 설정 (People * .. 1 Gender, People * .. 1 Race)

3- 모델 브라우저 로 이동 -> 연관

4-새로 생성 된 연결을 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다.

5-여기서 키 및 캐스케이드 옵션에 대한 끝점을 설정해야합니다. 엔드 포인트가 올바른지 확인하십시오. 암시 적 탐색 속성에 대한 참조 제약 조건을 여기서 설정할 수도 있습니다.

6-탐색 속성을 관련 테이블 / 필드에 매핑합니다.

7-모델을 확인하고 손가락을 교차하십시오.

도움이 되었기를 바랍니다.


답변

나는 우연히 이 블로그 게시물 나를 위해 큰 일을 다음과 같은 솔루션을 제안, (불행하게도 내 상황에서 작업에 RPM1984 년대를 가져올 수 없습니다).

  1. 디자이너 배경 오른쪽 클릭 상황에 맞는 메뉴를 통해 연결 추가
  2. 연결 설정 (외래 키 생성을 선택 취소해야 함)
  3. 연결을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.
  4. ...Referential Constraint 버튼을 클릭하십시오.
  5. 내 키 간의 관계를 설정합니다.
  6. 확인 (디자이너 상황에 맞는 메뉴에서)
  7. ???
  8. 이익!

답변