我在WebApi项目中使用EF。我有一个包含许多彼此相关的表的数据库。当我序列化来自表的对象时,它会创建一个奇怪的json。
我的EF查询如下。
db.Products.Include(x => x.ProductCategoryRelations)
.Include(x => x.ProductCategoryRelations.Select(c => c.Category))
.Include(x => x.ProductFileRelations)
.Include(x => x.ProductFileRelations.Select(c => c.File))
.Include(x => x.ProductPropertyRelations)
.Include(x => x.ProductPropertyRelations.Select(c => c.Property))
.Include(x => x.ProductColorRelations)
.Include(x => x.ProductColorRelations.Select(c => c.Color))
.Include(x => x.Brand)
.Where(predicate)
.ToListAsync();
由于此EF查询。它会创建如下所示的json,这是不可接受的...
1.Product
2.Brand
3.Product
4.ProductCategoryRelations
5.Product
.....
.....
.....
.....
我该如何解决?我想拥有一系列产品,但我不是需要改变以获得这种结果的人。任何帮助将不胜感激。
预先感谢
答案 0 :(得分:1)
尝试此方法:
db.Products
.Where(predicate)
.Select(p=> new { p.Brand, p.ProductColor.Color_Name, p.ProductCategory.Category_Name })
.ToListAsync();