【发布时间】:2016-06-21 10:34:34
【问题描述】:
考虑下面的代码
private List<Orders> GetOrders(int id)
{
var result = Context.Orders.Where(x => x.OrderId == 15)
.Include(x => x.Products)
.Include(x => x.CustomerDetails)
.ToList();
return result;
}
Products 和 CustomerDetails 是 Orders 实体上的导航属性。我只想获得包含最昂贵产品详细信息的结果。
所以我在下面尝试了,
Context.Orders.Where(x => x.OrderId == 15)
.Include(x => x.Products.OrderByDescending(p => p.Price).Take(1))
.Include(x => x.CustomerDetails)
.ToList();
但这会导致错误,
EntityFramework.dll 中出现“System.ArgumentException”类型的异常,但未在用户代码中处理 附加信息:包含路径表达式必须引用在类型上定义的导航属性。对引用导航属性使用虚线路径,对集合导航属性使用 Select 运算符。
如何解决这个问题?
【问题讨论】:
标签: c# .net entity-framework navigation-properties