如何使用LINQ或HQL執行以下SQL查詢?如何區分具有城堡活動記錄的選擇和組合?
SELECT `year`, `month`, COUNT(code_id)
FROM (SELECT DISTINCT request_codes_id AS code_id,
YEAR(requested) AS `year`, MONTH(requested) AS `month` FROM requests) r
GROUP BY `year`, `month`
ORDER BY `year`, `month`;
我試過如下:
var items = from r in TestaccountRequest.Queryable
group r by r.RequestCodeId into g
select g.First();
var grouped = from r in items
group r by r.Requested.ToString("yyyyMM") into y
select new { Year = y.First().Requested.Year, Month = y.First().Requested.Month, Count = y.Count() };
它扔了System.String ToString(System.String) NotSupportedException
。
UPDATE:
第一LINQ查詢的g.First()
似乎會導致問題,因爲如果我只運行的第一個我得到一個Code supposed to be unreachable
-Exception,但如果我刪除.First()
它「作品「,但沒有回報我所需要的。
這引起了我一個'指定的方法不supported.'的異常... – ChrFin
@chrfin:它是否說* *哪方法? –
不是真的;堆棧跟蹤中的最後一行是'NHibernate.Hql.Ast.ANTLR.PolymorphicQuerySourceDetector.GetClassName(IASTNode querySource)',但請參閱我的問題更新。 – ChrFin