C# Linq在列表的每一项中都包含属性
我有这四门课 它们在层次结构中使用:C# Linq在列表的每一项中都包含属性,c#,linq,C#,Linq,我有这四门课 它们在层次结构中使用: class Reception { virtual List<Pallets> Pallets { get; set; } float Weight { get; set; } } class Pallet { virtual List<PalletDetail> PalletDetail { get; set; } } class PalletDetail {
class Reception {
virtual List<Pallets> Pallets { get; set; }
float Weight { get; set; }
}
class Pallet {
virtual List<PalletDetail> PalletDetail { get; set; }
}
class PalletDetail {
virtual Package Package { get; set; }
int Quantity { get; set; }
}
class Package {
float Weight { get; set; }
}
问题是查询中没有包含对象包
,因此前面的foreach
在每次迭代中都会生成一个SQL查询
问题:我如何将其包括在内?(语法是什么?您也只需要包含包,将所有包含的内容替换为一个:
var receptions = dbContext.Receptions
.Include(r => r.Pallets
.Select(p => p.PalletDetail
.Select(pd => pd.Package)))
.ToList());
怎么用?这就是问题:“我怎么能包括它?”可能的重复:-虽然EF版本可能不同,但如果您先使用代码,那么它应该是相似的。是的,大卫说的可能也没问题:)
。包括(a=>a.Pallets.Select(b=>b.PalletDetail.Package))
hmmm这是错误的。。。b、 PalletDetail是一个列表…没有区别,因为要获取.Package,它将自动包括PalletDetail和Pallets
var receptions = dbContext.Receptions
.Include(r => r.Pallets
.Select(p => p.PalletDetail
.Select(pd => pd.Package)))
.ToList());