EF Core - relacionamento de muitos para muitos em uma classe

Relação Usuário-Amigo

Eu encontro uma resposta

Núcleo da estrutura de entidades: relacionamento muitos para muitos com a mesma entidade e tente assim.

Entidades:

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; }
}

A API fluente:

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);
Quando eu adiciono migração, a mensagem de erro é

Não é possível criar um relacionamento entre 'User.Friends' e 'Friend.FriendUser', porque já existe um relacionamento entre 'User.Friends' e 'Friend.ManUser'. As propriedades de navegação podem participar apenas de um único relacionamento.

O que devo fazer? Ou devo criar uma entidade FriendEntity: User?

questionAnswers(2)

yourAnswerToTheQuestion