Отношения пользователя и друга
я нахожу ответ
Ядро Entity Framework: отношения "многие ко многим" с одинаковыми сущность и попробуйте так.
Сущности:
public class User
{
public int UserId { get; set; }
public virtual ICollection<Friend> Friends { get; set; }
}
public class Friend
{
public int MainUserId { get; set; }
public User ManUser { get; set; }
public int FriendUserId { get; set; }
public User FriendUser { get; set; }
}
Свободный API:
modelBuilder.Entity<Friend>()
.HasKey(f => new { f.MainUserId, f.FriendUserId });
modelBuilder.Entity<Friend>()
.HasOne(f => f.ManUser)
.WithMany(mu => mu.Friends)
.HasForeignKey(f => f.MainUserId);
modelBuilder.Entity<Friend>()
.HasOne(f => f.FriendUser)
.WithMany(mu => mu.Friends)
.HasForeignKey(f => f.FriendUserId);
Когда я добавляю миграцию, появляется сообщение об ошибке
Невозможно создать связь между «User.Friends» и «Friend.FriendUser», поскольку связь между «User.Friends» и «Friend.ManUser» уже существует. Свойства навигации могут участвовать только в одном отношении.
Что я должен делать? Или мне следует создать Entity FriendEntity:User?