2016-11-07 1 views
0

행의 2 열에 외래 키를 저장하려고합니다. 웬일인지, 네비게이션 속성 중 일부가 내 테이블의 열로 표시되기 때문에 이것은 불안정합니다. 여기에 모델이 있습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?같은 테이블에 둘 이상의 외래 키가 있습니까?

public class BorrowedPerson 
    { 
     public int BorrowedPersonID { get; set; } 
     public Nullable<int> PersonID { get; set; } 
     public Nullable<int> CompanyID { get; set; } 
     public Nullable<int> TempCompanyID { get; set; } 
     public virtual Person Person { get; set; } 
     public virtual Company Company { get; set; } 
     public virtual Company TempCompanyID { get; set; } 
    } 
+0

기본적으로 가상 속성을 두 개 이상 사용하면 TempCompanyID_Company 및 CompanyID_Company라는 열이 만들어집니다 –

답변

1

매우 간단합니다. 같은 유형에 둘 이상의 탐색 속성을 지정하는 경우 수동으로 외부 키를 지정해야합니다.

public class BorrowedPerson 
    { 
     public int BorrowedPersonID { get; set; } 
     public Nullable<int> PersonID { get; set; } 
     public Nullable<int> CompanyID { get; set; } 
     public Nullable<int> TempCompanyID { get; set; } 
     public virtual Person Person { get; set; } 
     [ForeignKey("CompanyID ")] 
     public virtual Company Company { get; set; } 
     [ForeignKey("TempCompanyID")] 
     public virtual Company TempCompanyID { get; set; } 
    } 
관련 문제