C#에서 EF 6.0을 사용하여 다음을 구현할 수 있는지 궁금합니다. Entity Framework, 목록 목록 가능?
그래서 나는 키와 타입 B의 엔티티와 값으로 C 개체의 목록이있는 딕셔너리있는 엔티티 A가 :public class A
{
public int AID { get; set; }
public Dictionary<B, List<C>> myList { get; set; }
public somePrimitive AdditionalPropertyOfA { get; set; }
public somePrimitive AnotherPropertyOfA { get; set; }
}
내가 데이터베이스 테이블 A에이 변환하고자을하는 다음 예와 같습니다.
Table A
AID BID CID AdditionalPropertyOfA ...
1 1 1 ...
1 1 2 ...
1 2 3 ...
1 2 4 ...
2 1 1 ...
2 2 2 ...
2 2 3 ...
2 2 4 ...
그래서 나는 그것이 무슨 뜻인지 알기를 바랍니다. 위의 예제에서 두 개의 A 엔티티, 두 개의 B 엔티티 및 네 개의 C 엔티티가 있습니다. B = 1 : 1 -> 2, B = 2 : A = 1 용
우리가 3-> 4
A = 2을 위해 우리 가지고 B = 1 : 1, B = 2 : 2-> 3-> 4
문제점은 엔티티 클래스 A 나 유창한 Api에서 이것을 작성하는 방법을 모른다는 것입니다. 클래스 A는 엔티티 B에 대한 n : m 매핑을 가질 필요가 있으며 또한 C에 대한 n : m 매핑이 필요합니다. 그러나 이러한 것들을 함께 가져 오는 방법은 무엇입니까?
편집 : 내가 무엇을 의미하는지 명확히하려면 : A를 작업 계획으로, B를 직원으로, C를 직원을위한 작업으로 생각하십시오. B는 자체적으로 엔티티 (이름, 주소 등)이지만 A의 컨텍스트 내에서 작업을 할당했습니다.
(예를 들면). 이것은 끔찍한 데이터베이스 설계입니다. 대부분의 프로그래머/DBA는 더 높은 표준 형식을 지향합니다. 이것은 1NF조차하지 않습니다! – Aron
테이블에 클래스 파일의 사용자 지정 매핑을 사용할 수 있습니다. 유창한 API를 사용할 수 있습니다. –
그럼 더 좋은 아이디어는 무엇일까요? 엔티티 A에 일반 데이터베이스를 사용하지 말고 XML 파일 만 사용하십시오. 또는 그것을 정규화하고 내 코드에서 A 클래스에 더 많은 문제가 있습니까? 그런데이 경우 1NF는 무엇이 될까요? Fluent API로 맞춤 매핑을 어떻게 실현할 수 있습니까? – user2653422