2013-04-19 3 views
1

데이터베이스에 세 개의 테이블이 있습니다. TestVP, TestProject 및 TestPitch. 이 다이어그램에는 관계가 표시됩니다. TestVP는 행이 TestVP에 링크 될 때 마스터 테이블, TestProject 및 TestPitch입니다. EF World TestVP는 1이고 나머지는 0..1입니다. 0..1 - EF 올바른 그것을 이해하고 그것을 하나를 만드는 있도록 TestVP 및 TestPitch는 기본 키와 연결되어 EF 5/고유 제한이있는 0에서 1까지

http://tinypic.com/r/ve69w/6

http://tinypic.com/r/a3pg69/6

.

TestVP와 TestProject는 FK로 연결됩니다. ID < -> FKID 및 FKID가 고유합니다. EF는이 경우 1 - * 연관을 생성합니다.

데이터베이스 구조를 변경하지 않고 EF에서 어떻게 변경할 수 있습니까? TestVP와 TestProject 사이에 1 - 0..1을 갖고 싶습니다.

답변

1

Entity Framework는 데이터베이스의 고유 키 제약 조건 (기본 키 이외) 및 they are not supported을 무시합니다. 결과적으로 기본 키와 동일하지 않은 외래 키와 일대일 연관은 지원되지 않습니다.

가장 좋은 해결 방법은 기본 TestVP에있는 내비게이션 속성을 사용하지 않고 종속품 인 TestProject에만 사용하는 것입니다. 데이터베이스를 사용하는 경우 먼저 EF를 만든 후 수동으로 TestVP의 컬렉션 속성을 제거하십시오.

EF의 경우 관계는 여전히 일대 다이지만 우발적으로 하나 이상의 엔티티를 콜렉션에 추가 할 위험이 없습니다 (고유 제한 조건으로 인해 데이터베이스에서 실패합니다).