我是linq新手。 在c#中,我正在做如下,以獲得一列的計數。如何使用linq中的group by子句計算表列的計數
SELECT DispatcherName,
ActivityType,
CONVERT(BIGINT,COUNT(ActivityType)) AS Total
FROM ACTIVITYLOG
GROUP BY DispatcherName,
ActivityType
ORDER BY Total DESC
任何一個可以告訴男,我怎麼能使用LINQ實現同樣的事情。
更新:
HI我做了如下,並得到了reslut。 但我無法將結果轉換爲數據表。 這就是我的做法。 這裏dt是包含兩列Dispatchername和ActivityType的datatabe。
var query1 = from p in dt.AsEnumerable()
group p by new
{
DispatcherName = p.Field<string>("Dispatchername"),
Activity = p.Field<string>("ActivityType"),
}
into pgroup
let count = pgroup.Count()
orderby count
select new
{
Count = count,
DispatcherName = pgroup.Key.DispatcherName,
Activity = pgroup.Key.Activity
};
請儘快幫我解決。
http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b – 2012-02-08 13:43:54