У меня есть таблица с именем CourseEpisode, у которой есть другое свойство, одно из них - TimeSpan
public TimeSpan time{ get; set; }
когда я пытаюсь получить сумму времени эпизода с помощью этого кода:
var TotalTime = new TimeSpan(c.CourseEpisods.Sum(e => e.time.Ticks))
когда я запускаю свой проект, я сталкиваюсь с этой ошибкой:
InvalidOperationException: выражение LINQ '(EntityShaperExpression: EntityType: CourseEpisod ValueBufferExpression: (ProjectionBindingExpression: EmptyProjectionMember) IsNullable: False) .Time.Ticks' не может быть переведено. Либо перепишите запрос в форме, которая может быть переведена, либо явно переключитесь на оценку клиента, вставив вызов либо AsEnumerable (), ToList (), либо ToListAsync ()
пожалуйста, помогите мне
TimeSpan
отображается в базе данных. Например, поставщик SqlServer EFC сопоставляет его сtime
. И пока нетTicks
, у него есть миллисекунды (микросекунды и даже наносекунды), которых должно хватить. Почему для EF Core вопрос заключается в том, какой тип базы данных нацелен. Переход к оценке клиентов - это последнее средство. - person Ivan Stoev   schedule 25.09.2020