2016-12-29 8 views
0

私はcodefirstを使用してDBを作成しようとしています。私は同じテーブルから2つのForeingKeyを作成したい。しかし、同じタイプの2つのナビゲーションプロパティを設定すると、次のようなエラーが表示されます。エンティティフレームワークで同じタイプの2つのナビゲーションプロパティを使用せずに設定する方法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; } 

}