我有一个数据库表,其中包含事件开始时间和结束时间的条目。我想获取这些条目并找到事件的平均长度。减法没问题。但是,当我尝试获取平均值时,编译器会报错。
这是我当前的 LINQ 查询:
public TimeSpan? getAverageTime()
{
return (from EventTime in db.EventTimes
where EventTime.EventTimesID > 0
select (EventTime.TimeEnd - EventTime.TimeStart)).Average();
}
我还尝试了 .Sum() 和 .Aggregate() 以便我可以使用一些东西,但没有一个被接受。
实现我的目标的最佳方法是什么?
最佳答案
看来你必须在 linq2sql 语句中使用 SqlMethods.DateDiff(如果是 SQL,则为 DATEDIFF 函数):
public int getAverageTime()
{
return (from EventTime in db.EventTimes
where EventTime.EventTimesID > 0
select (SqlMethods.DateDiffMinute(EventTime.TimeStart, EventTime.TimeEnd)).Average();
}
关于c# - LINQ 平均时间跨度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3086087/