在Entity Framework中,我们可以使用以下代码配置多对多关系:
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; }
}
然后,EF将自动生成名为BookCategory
的第三个表,该表包含BookId
和CategoryId
。
反正还有访问第三张表的数据吗?
注1:我知道this solution用于配置多对多关系,但这不是我所需要的。我不想对Book
和Category
类进行任何更改。我只想使用这样的类访问自动生成的映射表:
public class BookCategory
{
public virtual Book Book { get; set; }
public virtual Category Category { get; set; }
}
注2:我在项目中使用存储库模式。