У меня есть метод, который возвращает все события, основанные на EventTypeID:Учитывая DateTime, как вызвать .ToUniversalTime при использовании LINQ to NHibernate?
public IList<Event> FindAll(int eventTypeId, DateTime? modifiedSince)
{
IQueryable<Event> query = this.SessionFactory.Session.Query<Event>().Where(e => e.EventType.Id == eventTypeId);
if (modifiedSince.HasValue)
{
// .ToUniversalTime() call throws NotSupportedException
query = query.Where(et => et.ModifiedDate.ToUniversalTime() >= modifiedSince.Value);
}
return query.ToList();
}
Как вызвать метод .ToUniversalTime() для каждой записи, как показано выше?
Я в идеале не хочу звонить .ToList() сначала, затем фильтр.
Если он вообще не поддерживается, как можно расширить LINQ to NHibernate для поддержки этой конкретной функции?
Вместо того, чтобы пытаться изменить каждую строку таблицы ToUniversalTime, вы могли бы изменить измененные. Так как это время, которое правильно относится к записям базы данных? –