Я новичок в 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 гласит: «По договоренности, Code First всегда интерпретирует однонаправленное отношение как один-ко-многим».
Можно ли это переопределить, или я должен использовать любой другой подход?