ユーザーエンティティからコレクションとしてフォロワーとフォローにアクセスできるようにしたい:
public class User
{
public int Id { get; set; }
public ICollection<User> Followers { get; set; }
public ICollection<User> Following { get; set; }
}
これは、テーブルにマップされます。
UserFollowers(ユーザーID、フォロワーID)
テーブルを正しく生成し、流暢な構成でフォロワーのために機能させることができます:
modelBuilder.Entity<User>().HasMany(m => m.Followers).WithMany().Map(x => x.MapLeftKey("UserId").MapRightKey("FollowerId").ToTable("UserFollowers"));
注意が必要な部分は、EF に、次のコレクションを同じテーブルにマップする必要があることを知らせることですが、FollowerId はユーザーにマップされます。
私は単に追加しようとしました:
modelBuilder.Entity<User>().HasMany(m => m.Following).WithMany().Map(x => x.MapLeftKey("FollowerId").MapRightKey("UserId").ToTable("UserFollowers"));
しかし、私はエラーが発生します:
スキーマ 'dbo' とテーブル 'UserFollowers' を持つ EntitySet 'UserUser1' は既に定義されています。各 EntitySet は、一意のスキーマとテーブルを参照する必要があります。
これを解決するにはどうすればよいですか?