Estoy usando NHibernate versión 2.0.0.4000.NHibernate: No se requiere para NHibernate.Criterion.SqlFunctionProjection
En una de mis consultas quise hacer uso de la función sql dateadd para agregar un número de días. Esto no se registró así que creé mi propio dialecto y registró la función como sigue:
RegisterFunction("adddays",
new SQLFunctionTemplate(NHibernateUtil.DateTime,
"dateadd(dd, ?1, ?2)"));
El registro es golpeado y parece funcionar bien. Utilizo la función en una consulta DetachedCriteria como sigue:
...
Restrictions.LtProperty("DateColumn1"
Projections.SqlFunction("adddays", NHibernateUtil.DateTime,
Projections.Constant(days),
Projections.Property("DateColumn2"))
...
Los criterios se volvió de un método y pasa de a otra consulta. Tras la ejecución de la consulta final recibo la siguiente excepción:
NHibernate.MappingException was caught
Message="No persister for: NHibernate.Criterion.SqlFunctionProjection"
Source="NHibernate"
StackTrace:
at NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(String entityName,
Boolean throwIfNotFound)
at NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(String entityName)
...
Ninguna de las publicaciones de blog que he visto menciona este problema. ¿Alguien puede ayudar?
Saludos con anticipación. Nige.