У меня есть отношение "многие ко многим" в моей первой модели Entity Framework. Представьте себе, что у нас есть две таблицы: "Компания" и "Статья", которые имеют такие отношения между ними. Моя упрощенная модель кода выглядит следующим образом:
public class Article
{
public int Id { get; set; }
public string Text { get; set; }
public virtual ICollection<Company> Companies { get; set; }
}
public class Company
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Article> Articles { get; set; }
}
Используя текущее сопоставление, я создаю отношения "многие ко многим":
modelBuilder.Entity<Company>().HasMany(c => c.Articles).WithMany(a => a.Companies);
Это отлично работает, EF создает промежуточную таблицу. Но, по моей логике, было бы очень приятно иметь коллекцию внешних ключей вместе с каждой сущностью. Это означает, что я хотел бы добавить следующее свойство к соответствующим классам модели:
public virtual ICollection<int> ArticlesId { get; set; } // to Company
public virtual ICollection<int> CompaniesId { get; set; } // to Article
Я знаю, что одним решением является создание промежуточной модели таблицы в EF и вручную выбирать соответствующие идентификаторы в каждом вызове, но, возможно, сопоставление EF может обеспечить более удобный способ выполнения такой операции? Заранее благодарю за любые советы.