本文介绍了在同一对象上填充多个集合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要填充包含两个集合的Product对象。
当前代码工作正常并填充了Product.GraphicItems集合,但我还需要填充Product.InfoItems集合,但我无法弄清楚多个集合的语法。
当前选择:
var result = await this .Context.ShopCategorys
。包括(cat = > cat.InfoItems)
.Include(cat = > cat.Products)
.ThenInclude(prd = > prd.GraphicItems)
.ThenInclude(itm = > itm.Graphic)
.ThenInclude(gfx = > gfx.Items)
.SingleAsync(cat = > cat.Id.Equals(id));
Product.cs :
[表( ShopProduct)]
public class 产品: BaseShop
{
public bool 活跃{获得跨度>; set ; } = true ;
public int CategoryId { get ; set ; }
public int CultureId { get 跨度>; set ; } = -1;
public 列表< ProductInfo> InfoItems { get ; set ; } = new 列表< ProductInfo>();
public 列表< ProductGraphic> GraphicItems { get ; set ; } = new 列表< ProductGraphic>();
}
ProductInfo.cs :
[表( ShopProductInfo)]
public class ProductInfo:BaseShop,IInfoItem
{
public int ? ProductId { get ; set ; }
public int CultureId { get 跨度>; set ; }
public 文化文化{ get ; set ; }
public string 名称{ get 跨度>; set ; }
public string 描述{ get 跨度>; set ; }
}
我尝试过:
不同.Include和.ThenInclude变体
解决方案
这篇关于在同一对象上填充多个集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!