我有一个具有多对多关系的实体框架 5 Code First 模型,即
Public class Product
{
public int ProductId {get;set;}
public ICollection<Category> Categories {get;set;}
}
Public class Category
{
public int CategoryId {get;set;}
public ICollection<Product> Products {get;set;}
}
因此,我正在流利地创建实际关系;
modelBuilder.Entity<Product>()
.HasMany(p => p.Categories)
.WithMany(c => c.Products)
.Map(m =>
{
m.ToTable("ProductsToCategories");
m.MapLeftKey("Products_ProductId");
m.MapRightKey("ProductCategories_ProductCategoryId");
});
现在,当我检索我的数据时正在检索产品,并且产品作为一堆类别,但每个类别中也有一堆产品,因此它会递归。
问题是,当我将其序列化为 JSON 以供前端使用时,这会造成严重破坏(我正在使用 KnockOut,但这有点无关紧要)。
我试过关闭延迟加载,当我得到我的产品时,我使用包含;
db.Products.Include("Categories").ToList()
但这仍然是在每个类别中执行产品的递归收集。
有任何想法吗?
问候