我有一个数据库表,其中包含事件开始时间和结束时间的条目。我想输入这些条目并找到事件的平均时长。减法没问题。但是,当我尝试获取平均值时,编译器会提示。
这是我当前的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/