Me gustaría buscar todos los registros de un día determinado, sin importar la hora asociada con esos registros. Hasta ahora tengo método como este:Obteniendo registros por fecha con solo comparación de partes de día usando nhibernate
public IQueryable<Record> QueryByDay(DateTime day)
{
DateTime from = day.Date;
DateTime to = day.Date.AddDays(1);
return repository.Table
.Where(t => t.MyDate >= from && t.MyDate < to);
}
Pero en LINQ a objetos que podemos hacer (suponiendo que la tabla es ahora parte de la recopilación):
public IEnumerable<Record> QueryByDay(DateTime day)
{
return repository.Table
.Where(t => t.MyDate.Date == day.Date);
}
que obviamente es más fácil de leer y se siente más limpio . Me preguntaba si hay una mejor manera de escribir el primer método usando el almacenamiento de la base de datos y nhibernate.
Creo que la forma que utilizó para L2O funciona bien con NH. –
@Diego Mijelshon ¿Puede decirme qué versión de NHibernate está utilizando que funciona? En el proyecto en el que estoy trabajando utilizamos v. 2.1 y esto arroja NHibernate.QueryException. – 0lukasz0
2.1 tiene 3 años y no es compatible. 3.3 es la versión estable actual. –