假设我们有典型的 Customers
和 Orders
关系,其中一个 Customer
可以有多个 Orders
,并且Orders
包含作为 FK 的 CustomerId
。
我认为这段代码返回最新订单的整个订单实体:
Order latestOrder = (from o in context.Orders
//where conditions or joins to be included here
group o by o.CustomerId into grp
select grp.OrderByDescending(g => g.OrderDate).First())
如何只返回类型为 string
的 OrderNumber
,而不是整个实体? (如果没有则为空)
string latestOrderNumber = (?)
谢谢。
最佳答案
您需要调用Select(g => g.OrderNumber)
之前First()
你需要调用FirstOrDefault
再次为了检索单个 OrderNumber
而不是 IQueryable<string>
string latestOrderNumber = (from o in context.Orders
group o by o.CustomerId into grp
select grp.OrderByDescending(g => g.OrderDate)
.Select(g => g.OrderNumber)
.FirstOrDefault()
).FirstOrDefault();
关于c# - LINQ 到实体 : How to return the latest order number for a customer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32083516/