linq to entity 매핑 문제가 있습니다. 나는 세 개의 테이블을 가지고있다.Linq 매핑 문제가 1에서 0.1 사이의 관계
표 1 - ItemsB (ID 내장까지 PART_NUMBER()가 널이 될 것이다) (키 정보 나 기타 항목)
표 2 - 다른 ItemsA) (ID (키 PART_NUMBER (내장까지 널이 될 것이다), 항목 A 정보)
표 3 - WebItems (Item_id, 웹 항목 정보) *이 항목이 작성되고이 표에 푸시 된 후 ItemsB 및 ItemsA의 항목으로 구성됩니다.
ItemsA/ItemsB는 WebItem과 1 - 0.1의 관계를 갖습니다. Part_Number는 Item_id에 매핑됩니다.
EF4.0을 사용하고 있습니다.
문제는 위와 같이 연결/매핑을 설정 한 후 다음과 같은 오류 메시지가 표시됩니다. "선 조각을 매핑 할 때 문제가 발생했습니다 : 두 조각에서 두 개념적 측면 속성에 매핑되는 열 [Part_Number] . "
보통이 경우 무엇을 해야할지 알고 있습니다. [Part_Number] 속성을 제거하십시오. 문제는 내가 ItemsB와 ItemsA 모두에서 [Part_Number]에 액세스해야하며 자주 webitems에 가지 않아야합니다. webitem이 항목을 웹 항목에 푸시했는지에 따라 특정 시점에 항상 [Part_Number]가 채워지지는 않습니다.
누구든지이 문제를 해결하는 방법을 알고 있습니까?
미리 감사드립니다.
Ladislav, ItemN 및 ItemB 테이블을 업데이트하여 Part_Number가 해당 테이블의 기본 키가 아님을 보여줍니다 (미안합니다). 따라서 ItemA/ItemB는 WebItem과 1에서 0.1 사이의 관계를가집니다. 이유는 그것이 만들어 질 때까지 ItemA가 WebItem에 존재하지 않을 것이고, 그 시점에 오직 하나의 일치하는 항목 만있을 것입니다. ItemB도 마찬가지입니다. 이게 말이 돼? 귀하의 의견을 검토하여 여전히 귀하의 의견이 적용되는지 확인하겠습니다. 귀하의 응답에 대한 감사합니다 –
그것은 아마 이해가되지만 EF에서는 불가능합니다. 모든 일대일 관계는 FK의 고유성을 기반으로합니다. 즉, FK는 기본 키이거나 고유 키 여야합니다. 문제는 EF가 고유 키를 전혀 지원하지 않기 때문에 일대일 관계가 공유 기본 키의 위에 만 모델링 될 수 있기 때문입니다. –
나는 이것이 대답 일 것이라고 생각한다. 이 경우 SP 경로를 따라 가야합니다. 시간 내 주셔서 감사합니다. –