【发布时间】:2014-10-20 17:51:40
【问题描述】:
如何通过 Lambda 表达式(实体框架或微 ORM)使用以下查询?
SELECT a.RestaurantID
,MAX(a.EventDate) LastPeriodCloseDate
FROM (
SELECT RestaurantID
,EventType
,EventDate
FROM SystemCalendar
WHERE EventType = 'P'
) a
GROUP BY RestaurantID
HAVING MAX(a.EventDate) BETWEEN '2014-10-31'
AND '2015-03-31'
【问题讨论】:
-
请添加您的 C# 代码。目前尚不清楚您到底卡在哪里以及遇到了什么问题
-
我想使用 C# lambda 表达式而不是使用 tsql 来获得上述查询的相同输出。无法使用实体框架的 lambda 同时处理 group by 和 having 子句。
-
我是这个领域的新手,并试图使用类似以下的东西。无法设置子句标准... var list = _db.SystemCalendars .Where(e => e.EventType == "P") .GroupBy(r => r.RestaurantID) .Select(s => new { RestaurantID = s.FirstOrDefault().RestaurantID ,LastPeriodCloseDate = s.Count() });
标签: entity-framework sql-server-2008 micro-orm