однонаправленная связь «многие ко многим» с Code First Entity Framework

Я новичок в EF и пытаюсь получить однонаправленные отношения «многие ко многим» с подходом «сначала код». Например, если у меня есть следующие два класса (не моя настоящая модель) с отношением N * N между ними, но нет свойства навигации со стороны «Заказчик».

public class User {
   public int UserId { get; set; }
   public string Email { get; set; }
   public ICollection TaggedCustomers { get; set; }
}
public class Customer {
  public int CustomerId { get; set; }
  public string FirstName { get; set; }
  public string LastName { get; set; }
}

Код сопоставления выглядит так ...

modelBuilder.Entity()
        .HasMany(r => r.TaggedCustomers)
        .WithMany(c => c.ANavgiationPropertyWhichIDontWant)
        .Map(m =>
        {
            m.MapLeftKey("UserId");
                m.MapRightKey("CustomerId");
                m.ToTable("BridgeTableForCustomerAndUser");
        });

Этот синтаксис вынуждает меня использовать «WithMany» для сущности «Клиент». Следующий URL говорит: «По соглашению, Код Сначала однонаправленное отношение всегда интерпретируется как «один ко многим». "

Можно ли его переопределить или мне следует использовать какой-либо другой подход?

21
задан Cœur 30 May 2018 в 16:28
поделиться