我有一个基于 EventTypeID 返回所有事件的方法:
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 扩展到 NHibernate 以支持此特定功能?