2016-12-29 2 views
0

codefirst를 사용하여 DB를 만들려고합니다. 같은 테이블에서 두 개의 ForeingKey를 만들고 싶습니다. 내가 같은 유형이 탐색 속성을 설정할 때, 얻을 같은 오류 :사용하지 않고 Entity Framework에서 같은 유형의 탐색 속성 두 개를 설정하는 방법 Fluent API

외래 키 이름 'FollowedUser이'종속 형 Models.UserUserWatchListItem '에서 찾을 수 없습니다. Name 값은 쉼표로 구분 된 외래 키 특성 이름 목록이어야합니다.

public class UserUserWatchListItem 
{ 
    public int Id { get; set; }   

    [Key,ForeignKey("FollowedUser")] 
    public virtual User FollowedUser { get; set; } 
    public int FollowedUserId { get; set; } 

    [Key,ForeignKey("FolloweeUser")] 
    public int FolloweeUserId { get; set; } 
    public virtual User FolloweeUser { get; set; } 


} 

답변

0

사용이 :

public class UserUserWatchListItem 
{ 
    public int Id { get; set; }   

    public int FollowedUserId { get; set; } 


    public int FolloweeUserId { get; set; } 

    [ForeignKey("FollowedUser")] 
    [InverseProperty("FollowedUsers")] 
    public virtual User FollowedUser { get; set; } 

    [ForeignKey("FolloweeUser")] 
    [InverseProperty("FolloweeUsers")] 
    public virtual User FolloweeUser { get; set; } 

} 

public class User 
{ 
    ... 

    [InverseProperty("FollowedUser")] 
    public virtual ICollection<UserUserWatchListItem> FollowedUsers { get; set; } 

    [InverseProperty("FolloweeUser")] 
    public virtual ICollection<UserUserWatchListItem> FolloweeUsers { get; set; } 

}