У меня есть метод, который должен возвращать список анонимных объектов с вычисляемым столбцом, например:
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.Nullable 1[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),