我应如何包括一个拥有儿童身份的孩子?
即,乔布斯的报价中包含QuoteItems
var job = db.Jobs
.Where(x => x.JobID == id)
.Include(x => x.Quotes)
.Include(x => x.Quotes.QuoteItems) // This doesn't work
.SingleOrDefault();
为了更清楚一点-我正在尝试检索单个Job项目,它是相关的Quotes(一对多),对于每个Quote,则是相关的QuoteItems(一个Quote可以有许多QuoteItems)
我问的原因是因为在我的“报价索引”视图中,我试图通过对小计求和来显示每个报价的所有报价项的总计,但它的值为0。我这样称小计:
@item.QuoteItem.Sum(p => p.Subtotal)
我相信我有此问题的原因是,我上面的Linq查询没有检索每个Quote的关联QuoteItems。
要获得一份工作并渴望加载其所有报价及其报价单,请编写:
var job = db.Jobs
.Include(x => x.Quotes.Select(q => q.QuoteItems))
.Where(x => x.JobID == id)
.SingleOrDefault();
您可能需要SelectMany
而不是Select
QuoteItems也是一个集合。
注意他人;强类型Include()
方法是扩展方法,因此您需要将其包括using System.Data.Entity;
在文件的顶部。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句