考虑以下代码
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;
}
产品和CustomerDetails是订单实体的导航属性。我只想获得有关最昂贵产品的详细信息的结果。
所以我在下面试过,
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”类型的异常,但未在用户代码中处理 附加信息:Include路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性。
如何解决此问题?