[英]MAX in Where Clause in Entity Framework
我有像这样的SQL查询
SELECT WI.[WorkItemID] ,[WorkItemNumber] ,[ToDate]
FROM [WorkItem] AS WI INNER JOIN [WorkItemTrack] AS WT on WI.WorkItemID=WT.WorkItemID
WHERE MAX([ToDate]) BETWEEN @StartDate AND @EndDate
和对应的实体框架查询是
workItems = from wi in workItems.Where(p => p.IsActive)
join wt in entityCollection.WorkItemTrack on wi.WorkItemID equals wt.WorkItem.WorkItemID
where wt.ToDate >= fromdate && wt.ToDate <= todate
select wi;
在这里,我无法在Enitity Framework Query中使用MAX作为wt.ToDate
请帮我
你试过SqlServer.Max()方法吗? 这些是您可以使用的聚合方法
例
SELECT VALUE SqlServer.MAX(p.ListPrice)
FROM AdventureWorksEntities.Product as p
where子句中的max应该不起作用。
“聚合可能不会出现在WHERE子句中,除非它位于HAVING子句或选择列表中包含的子查询中,并且要聚合的列是外部引用。”
但是,如果您想要基于特定列的最高结果,请尝试按所述列添加订单,然后获取该集合的最高结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.