O entity framework core em sua versão 5 permite o mapeamento de entidades n:n sem a criação de uma tabela adicional. Muitas vezes o nome dos atributos (foreign keys) da tabela resultante do relacionamento não agradam aos programados, contudo é possíve alterar o nome dos atributos tanto quanto o nome da tabela.
Veja a seguir:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Entidade>(x =>
{
x.HasMany(x => x.EntidadeRelacionada)
.WithMany(x => x.AtributoDeNavegacao)
.UsingEntity<Dictionary<string, object>>("NomeDaTabela",
x => x.HasOne<Entidade1Relacionada>().WithMany().HasForeignKey("NomeDoAtributoDeRelacionamento1"),
x => x.HasOne<Entidade2Relacionada>().WithMany().HasForeignKey("NomeDoAtributoDeRelacionamento2"),
x => x.ToTable("NomeDaTabela"));
});
}