Пускай у нас будут две модели 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 ICollection Authors { 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"));
}
}
Комментариев нет:
Отправить комментарий