当我有一个许多实体框架5的Code First模型一对多的关系 即EF5与多对多的关系序列化到JSON
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,但这是一种无关紧要的),这会造成严重破坏。
我试过将懒惰加载关闭,当我得到我的产品时,我使用了include;
db.Products.Include("Categories").ToList()
但是,这仍然然后执行每个类别内的产品的递归聚集。
任何想法?
Regards
谢谢!两个答案都会做我所需要的!我有点希望不使用商业或观看模型,但最终我认为这可能是最好的解决这个问题。 – BrettH
再次 - 谢谢你们两位! – BrettH
不客气,BrettH。 – Damien