0

我有个问题; 实际上,我的数据库表中有工作时间,格式为 HH.mm,我想使用 LINQ 总结所有工作时间,请告诉我如何执行此操作。

在 totalWeekHours 我有所有的工作时间,我已经用 HH:mm 替换了 HH.mm 格式,但我不知道如何解析它timespan然后Sum()使用 Linq。

请帮忙。

var totalWeekHours = (from twh in db.MytimeMaster 
                      where ((twh.date >= lstsun && twh.date <= tilldate) 
                          && (twh.agentID == agentid)) 
                      select twh.totalworkinghours).ToList();

if (totalWeekHours.Count > 0) 
{
    List cnvrtToTimespanlist = new List(); 
    foreach(var list in totalWeekHours) 
    {
        cnvrtToTimespanlist.Add(list.ToString().Replace('.', ':')); 
    }
}
4

1 回答 1

0

您可以使用聚合方法。

var sum = (from twh in db.MytimeMaster
 where ((twh.date >= lstsun && twh.date <= tilldate) && (twh.agentID == agentid))
 select twh.totalworkinghours).Aggregate(TimeSpan.FromMinutes(0), (total, next) => total + next);

ps 假设使用 TimeSpan 作为时间间隔。

于 2013-08-12T07:38:16.707 回答