linqtosql,时间跨度,聚合...可以完成吗?

时间:2020-03-06 15:00:22  来源:igfitidea点击:

可以通过linqtosql完成吗?

SELECT City, SUM(DATEDIFF(minute,StartDate,Completed)) AS Downtime
FROM Incidents
GROUP BY City

解决方案

using System.Data.Linq.SqlClient;
db.Incidents
  .GroupBy(i => i.City)
  .Select(g => new
  {
    City = g.Key,
    DownTime = g.Sum(i => SqlMethods.DateDiffMinute(i.StartDate, i.Completed))
  });

是的。我们必须使用SqlMethods类。

http://msdn.microsoft.com/en-us/library/bb882657.aspx