LINQ表达式无法转换为Property TimeSpan的总和

问题描述

我有一个名为CourseEpisode的表,该表具有不同的属性,其中之一是TimeSpan

   public TimeSpan time{ get; set; }

当我尝试使用此代码获取Episod Time的总和时:

    var TotalTime = new TimeSpan(c.CourseEpisods.Sum(e => e.time.Ticks))

运行项目时,我会遇到此错误

InvalidOperationException:LINQ表达式'(EntityShaperExpression: 实体类型:CourseEpisod ValueBufferExpression: (ProjectionBindingExpression:空投影成员) IsNullable:错误 ).Time.Ticks'无法翻译。以一种可以翻译的形式重写查询,或者通过插入对AsEnumerable(),ToList()或ToListAsync()的调用来显式切换到客户端评估

请帮助我

解决方法

这是一个例子

void Main()
{   
    var table = new List<TimeSpan> 
                {
                    new TimeSpan(1,0),new TimeSpan(0,30,new TimeSpan(2,10)
                };
                
    
    TimeSpan total = TimeSpan.Zero;
    table.ForEach(t => total = total.Add(t) );  
    
    Console.WriteLine($"Total Duration Is  = {total.ToString()}");
}

那你得到

Total Duration Is  = 03:30:10