Здравствуйте!
Есть некоторое вычисляемое поле в модели Entity Framework:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
[NotMapped]
public int? WorkingTime
{ get {
var query = (from e in context.events
join a in context.actions on e.CurrEventID equals a.CurrEventID into es
from p in es.DefaultIfEmpty()
select new { UnitDate = e.ActionDate, UnitId = e.CurrEventID, HeaderID = p.HeaderID, IsDone = p.MarkerOn, Begin = e.BeginTime, End = e.EndTime })
.Where(w => w.HeaderID == this.HeaderID)
.Where(w => w.IsDone == true)
.Distinct()
.Select(s => DbFunctions.DiffMinutes(s.Begin, s.End)).Sum();
return query ?? 0;
} }
Для каждого HeaderID выполняется вычисление WorkingTime по всем строкам БД. Необходимо ввести внешнее ограничение по диапазону запрашиваемых дат (текущая дата хранится в поле UnitDate). Модель хранится отдельно от клиента, из которого выполняется вызов. Подскажите, как решить эту задачу?