我有像这样的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;
这里我无法在实体框架查询中使用MAX作为wt.ToDate
请帮帮我
答案 0 :(得分:1)
您是否尝试过SqlServer.Max()方法。这些是您可以使用的聚合方法
实施例
SELECT VALUE SqlServer.MAX(p.ListPrice)
FROM AdventureWorksEntities.Product as p
答案 1 :(得分:1)
where子句中的最大值不应该起作用。
&#34;聚合可能不会出现在WHERE子句中,除非它在a中 包含在HAVING子句或选择列表中的子查询以及列 被聚合是一个外部参考。&#34;
但是,如果您想要基于特定列的最高结果,请尝试按所述列添加订单,然后获取该列的最高结果。