我有表幫助的LINQ查詢
ID pagenane用戶名
我想這個SQL查詢
選擇頁面名稱,COUNT(*)從pagestat NUM其中username = 'name'group by pagename
我該怎麼做linq?
我有表幫助的LINQ查詢
ID pagenane用戶名
我想這個SQL查詢
選擇頁面名稱,COUNT(*)從pagestat NUM其中username = 'name'group by pagename
我該怎麼做linq?
好了,試試這個:
var query = from row in context.pageStat
where row.UserName == "name"
group row by row.PageName into g
select new { PageName = g.Key, Count = g.Count() };
var retVal = (from s in dataContext.YourTable where
s.UserName.Equals("name")
group s by s.PageName into k
select new {PageName = k.Key, Count = k.Count() }).ToList();
's'不在'select'子句的範圍內。那時你正在處理*組*而不是單個記錄。幸運的是,您可以使用該組的關鍵。 – 2010-07-07 08:32:07
謝謝喬恩,我會小心的,現在就解決。 – 2010-07-07 08:50:40
如何從函數返回該值?像返回query.ToList();但這是匿名類型 – kusanagi 2010-07-07 08:44:18
@kusanagi:如果您使用.NET 4,則可以使用元組;否則你可以創建你自己的帶有頁面名稱和計數屬性的命名類型......基本上是匿名類型的命名版本。 – 2010-07-07 08:47:38
請注意,'row.UserName =='name''將區分大小寫。也許不是你想要的用戶名,和(取決於數據庫整理)可能不是什麼原始的SQL查詢。使用'row.UserName.Equals(「name」,StringComparison.OrdinalIgnoreCase)'進行不敏感的比較;它在L2S和L2E中都受到支持。 – 2010-07-07 12:39:23