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; }}