这是我的数据模型的示例:
class Invoice
{
public ICollection<LineItem> LineItems { get; set; }
}
class LineItem
{
public string Text { get; set; }
public Invoice Invoice { get; set; }
public Category Category { get; set; }
}
class Category
{
public string Name { get; set; }
}
我可以像这样急切地加载 LineItem:
return DataContext.Invoices.First().Include("LineItems.Category");
如何使用 Lambda 执行此操作?
return DataContext.Invoices.First().Include(li => li.LineItems); //I can't chain any more includes since LineItems is an ICollection
编辑:我试过
return DataContext.Invoices.Include(i => i.LineItems.First().Category).Single();
它导致ArgumentException
了以下消息:
包含路径表达式必须引用在类型上定义的导航属性。对引用导航属性使用虚线路径,对集合导航属性使用 Select 运算符。参数名称:路径