C# 如何使用linq/lambda计算日期之间的组差异?

C# 如何使用linq/lambda计算日期之间的组差异?,c#,entity-framework,lambda,C#,Entity Framework,Lambda,我一直在寻找一种方法来实现这一点,但我没有成功。以下是我的问题,我有一个如下表: ID|CATEGORY|START_DATE |END_DATE 1 T1 2019-08-29 12:00:00 2019-08-29 12:10:00 2 T1 2019-08-30 13:00:00 2019-08-30 13:20:00 3 T2 2019-08-30 14:00:00 2019-08-

我一直在寻找一种方法来实现这一点,但我没有成功。以下是我的问题,我有一个如下表:

ID|CATEGORY|START_DATE               |END_DATE
1  T1       2019-08-29 12:00:00       2019-08-29 12:10:00
2  T1       2019-08-30 13:00:00       2019-08-30 13:20:00
3  T2       2019-08-30 14:00:00       2019-08-30 14:10:00
我要做的是按类别分组,将两个日期之间的差值相加,得到如下结果:T1-->30分钟,t2-->10分钟

这就是我尝试过的:

foreach (IGrouping<string, TABLE1> group in result)
{
    series.Add(new PieSerie("SerieName", group.AsEnumerable().Sum(x => (x.START_DATE- x.END_DATE).Value.Seconds  )));
}
foreach(结果中的i分组)
{
series.Add(新的PieSerie(“SerieName”,group.AsEnumerable().Sum(x=>(x.START\u DATE-x.END\u DATE).Value.Seconds));
}

但它不起作用。我得到的每一个结果都是“0”,而不是总的分钟数。

如果从
2019-08-30 14:00:00
中减去(作为
DateTime
2019-08-30 14:10:00:00
,你会得到(作为
TimeSpan
00:10:00
,也就是说“零小时、十分钟和零秒”。“和零秒”是一条线索,说明为什么您从
.seconds
获得
0
。您可能需要
.TotalSeconds
(将是
600
),或者只保留整个
时间跨度
本身。

可能重复的我被确认了,我是lambda和linq查询的新手,我总是使用DateTime,而不是TimeSpan。这就是为什么我想得到那样的秒数。但这几秒钟解决了问题。谢谢