У меня есть метод, который должен возвращать список анонимных объектов с таким вычисляемым столбцом:
var tomorrow = DateTime.Today.AddDays(1);
return from t in this.Events
where (t.StartTime >= DateTime.Today && t.StartTime < tomorrow && t.EndTime.HasValue)
select new
{
Client = t.Activity.Project.Customer.Name,
Project = t.Activity.Project.Name,
Task = t.Activity.Task.Name,
Rate = t.Activity.Rate.Name,
StartTime = t.StartTime,
EndTime = t.EndTime.Value,
Hours = (System.Data.Objects.SqlClient.SqlFunctions.DateDiff("m", t.StartTime, t.EndTime.Value) / 60),
Description = t.Activity.Description
};
К сожалению, я получаю следующую ошибку от функции DateDiff:
Указанный метод «System.Nullable1[System.Int32] DateDiff(System.String, System.Nullable
1[System.DateTime], System.Nullable`1[System.DateTime])» для типа «System.Data.Objects.SqlClient.SqlFunctions» не может быть преобразован в LINQ to Entities. сохранить выражение.
Любые идеи, что я мог сделать неправильно здесь?
РЕДАКТИРОВАТЬ: я также попробовал класс EntityFunctions, упомянутый здесь , но это тоже не сработало.
Minutes = EntityFunctions.DiffMinutes(t.EndTime, t.StartTime),