efcore many to many code example
Example 1: many to many ef core
public class Book{ public int BookId { get; set; } public string Title { get; set; } public Author Author { get; set; } public ICollection<BookCategory> BookCategories { get; set; }} public class Category{ public int CategoryId { get; set; } public string CategoryName { get; set; } public ICollection<BookCategory> BookCategories { get; set; }} public class BookCategory{ public int BookId { get; set; } public Book Book { get; set; } public int CategoryId { get; set; } public Category Category { get; set; }}
Example 2: many to many ef core
protected override void OnModelCreating(ModelBuilder modelBuilder){ modelBuilder.Entity<BookCategory>() .HasKey(bc => new { bc.BookId, bc.CategoryId }); modelBuilder.Entity<BookCategory>() .HasOne(bc => bc.Book) .WithMany(b => b.BookCategories) .HasForeignKey(bc => bc.BookId); modelBuilder.Entity<BookCategory>() .HasOne(bc => bc.Category) .WithMany(c => c.BookCategories) .HasForeignKey(bc => bc.CategoryId);}
Example 3: many to many ef core
public class Book{ public int BookId { get; set; } public string Title { get; set; } public Author Author { get; set; } public ICollection<Category> Categories { get; set; }} public class Category{ public int CategoryId { get; set; } public string CategoryName { get; set; } public ICollection<Book> Books { get; set; }}