I have next entity configuration:
public class OfficesContext : DbContext
{
    public DbSet<Office> Offices { get; set; }
    public DbSet<Expense> Expenses { get; set; }
    public DbSet<ExpenseLog> ExpenseLogs { get; set; }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Office>()
            .Property(o => o.OfficeId)
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
        modelBuilder.Entity<Expense>()
                        .Property(o => o.ExpenseId)
                        .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
        modelBuilder.Entity<Office>()
            .HasMany(o => o.Expenses)
            .WithMany()
            .Map(mc =>
            {
                mc.ToTable("ExpenseLogs");
                mc.MapLeftKey("ExpenseId");
                mc.MapRightKey("OfficeId");
            });
    }
}
public class Office
{
    public Office()
    {
        ExpenseLogs = new HashSet<ExpenseLog>();
        Expenses = new HashSet<Expense>();
    }
    public int OfficeId { get; set; }
    public string Name { get; set; }
    public ICollection<ExpenseLog> ExpenseLogs { get; private set; }
    public ICollection<Expense> Expenses { get; private set; } 
}
public class Expense
{
    public Expense()
    {
        ExpenseLogs = new HashSet<ExpenseLog>();
        Offices = new HashSet<Office>();
    }
    public int ExpenseId { get; set; }
    public string Name { get; set; }
    public ICollection<ExpenseLog> ExpenseLogs { get; private set; }
    public ICollection<Office> Offices { get; private set; } 
}
public class ExpenseLog
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ExpenseLogId { get; set; }
    public int OfficeId { get; set; }
    public Office Office { get; set; }
    public int ExpenseId { get; set; }
    public Expense Expense { get; set; }
    public DateTime InputDate { get; set; }
    public decimal Amoun { get; set; }
    public string Description { get; set; }
}
But it creates two tables for expences logs ExpenseLogs and ExpenseLogs1. ExpenseLogs has only foreign keys ExpenseId and OfficeId. ExpenseLogs1 has same fields as in class ExpenseLog. I also tried to use next mappings but it doesnt helped:
modelBuilder.Entity<ExpenseLog>().HasRequired(e => e.Office);
modelBuilder.Entity<ExpenseLog>().HasRequired(e => e.Expense);
 
     
    