2011-02-22 5 views
0

안녕하세요, 나는 부모/자식 관계에 대한 문제를 기본 baseclasses와 구현 사이에서 실행했습니다.Entity Framework의 기본 클래스 및 부모/자식 관계 코드 우선

public class SuperParent 
{ 
    public ICollection<Parent> ParentList { get; set; } 
} 

public abstract class Parent 
{ 
    public int Id { get; set; } 
    public string Title { get; set; } 
} 

public abstract class ParentExtended : Parent 
{ 
    public ICollection<ChildClass> ChildClassList { get; set; } 
} 

public class RealClass : ParentExtended 
{ 

} 

public class ChildClass 
{ 
    public int Id { get; set; } 
    public Parent Parent { get; set; } 
} 
예제 코드

 SuperParent sp = new SuperParent(); 
    sp.ParentList = new List<Parent>(); 


    RealClass parent = new RealClass(); 
    parent.ChildClassList = new List<ChildClass>(); 
    parent.ChildClassList.Add(new ChildClass()); 

    sp.ParentList.Add(parent); 

결과는 다음과 같습니다. 데이터베이스 테이블 ChildClass

  • 자식
  • 부모 (FK)
  • 부모 xtx77

    여기서 parentId는 항상 null이지만 parentExtendedId는 올바른 ID로 채워지지만 필요하지 않습니다.

    내 질문이 이동하는 방법이며 부모 클래스 부모 및 않은 ParentExtended

    줄 수 있습니다.

답변

1

ParentExtended되지 않고 오히려 쉽게 :) 함께 ParentExtended 추상 클래스에 childlist 장식의 클래스 내에 아이의 역 속성이 무엇인지 알려주는 데이터 주석. 그래서 내 예제에서

:

public abstract class ParentExtended : Parent 
{ 
    [InverseProperty("Parent")]  
    public ICollection<ChildClass> ChildClassList { get; set; } 
} 

으로는 Realclass에 백업하는 포인터를 만들지 만 변수라는 이름의 부모에

+0

감사합니다! : D .. – Yablargo

관련 문제