2016-10-30 9 views
0

나는 Location 클래스를 가지고 있으며이 클래스는 다른 두 개의 Location 개체 (PreviousLocation 및 NextLocation)에 대한 참조를 갖기를 원합니다. 나는 이것을 시도 :같은 클래스 간의 엔티티 프레임 워크 관계

public class Location 
{ 
    public int LocationId { get; set; } 

    [ForeignKey("LocationId")] 
    public Location PreviousLocation { get; set; } 
    [ForeignKey("LocationId")] 
    public Location NextLocation { get; set; } 
} 

그러나 Add-Migration 명령을 실행할 때 그것은 나에게 오류를 준 :이 개체 유형 특성의 동일한 세트를 가리키는 '위치'에 여러 내비게이션이 - ForeignKeyAttribute를 사용하여 'LocationId'.

아무도 내 원하는 행동을 달성하는 방법의 예를 보여줄 수 있습니까?

+1

PreviousLocation과 NextLocation 모두에 동일한 ForeignKey 이름을 지정했습니다. 내 생각 엔, ForeignKey 이름은 ** PreviousLocationId **와 ** NextLocationId **이어야합니다. – Natiq

답변

0

시도해보십시오. 이렇게하면 재귀 적 또는 계층 적 참조가 허용됩니다.

public class Location 
{ 
    public int LocationId { get; set; } 

    public int NextLocationId { get; set; } 
    public int PreviousLocationId { get; set; } 

    [ForeignKey("PreviousLocationId")] 
    public Location PreviousLocation { get; set; } 
    [ForeignKey("NextLocationId")] 
    public Location NextLocation { get; set; } 
}