1

내 데이터베이스 내에 중첩 세트 모델을 생성하고 싶습니다. 그러나 Entity Framework Code-First를 사용하여 구현을 시작하는 방법을 모르기 때문에 문제가 발생합니다. 그것은 바로 지금처럼 내가 하위 범주 수집을 필요로 내 모델에서EF 코드 우선 및 중첩 세트

public class Category 
{ 
    public long Id { get; set; } 
    public string Name { get; set; } 
    public virtual ICollection<Category> SubCategories { get; set; } 

    // public int left { get; set; } 
    // public int right { get; set; } 
} 

:

내가 같은 클래스가 있다고 할 수 있습니다. 내가/에서 하위 범주 컬렉션에 하위 범주를 추가/제거 할 때 속성을 및 왼쪽의 그러나 나는 자동 (암시) 업데이 트를 구현하고 싶습니다.

가능합니까?

미리 답변 해 주셔서 감사합니다.

최고!

+1

정확하게 '왼쪽'과 '오른쪽'은 무엇입니까? 자식 및 부모 범주에 대한 fk 참조? –

+1

왼쪽과 오른쪽은 중첩 된 집합 (트리) 모델을 만드는 정수입니다. –

+0

다음은 중첩 세트 모델 빌드에 대한 설명입니다. http://blog.bexlab.pl/wp-content/uploads/2009/10/tree_03.PNG (예 : root = [left = 1, right = 20]) –

답변

2

중첩 세트와 오브젝트 그래프는 완전히 다른 두 모델입니다. 한 가지 유형으로 두 가지를 모두 저장해서는 안됩니다. 그것은 SRP를 위반합니다.

는 대신,로드, 코드 최초 포항 강판에 LeftRight을 넣어, 다음 프로젝트/복사 그래프 스키마와 다른 종류의 (엔티티되지 않는)의 객체 위에 그.