Пускай у нас будут две модели Articles (статьи) и Authors (авторы статей). У статей может быть несколько авторов, а авторы могут участвовать в написании нескольких статей. Ниже представлен шаблон для реализации конструкции связей Many-To-Many в Entity Framework 6, например, его можно использовать в рамках концепции Code-First для автоматического создания таблиц связей.
public class Article { public int Id { get; set; } public string Title { get; set; } public string Surname { get; set; } public virtual ICollectionAuthors { get; set; } public Article() { Authors = new List (); } } public class Author { public int Id { get; set; } public string Fio { get; set; } public virtual ICollection Articles { get; set; } public Author() { Articles = new List(); } } public class Arctiles2AuthorsContext : DbContext { public DbSet Authors { get; set; } public DbSet Articles { get; set; } public Arctiles2AuthorsContext() : base("DefaultConnection") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity ().HasMany(c => c.Articles) .WithMany(s => s.Authors) .Map(t => t.MapLeftKey("ArticleId") .MapRightKey("AuthorId") .ToTable("Arctiles2Authors")); } }
Комментариев нет:
Отправить комментарий