Uso de la función CONVERTIR SQL a través del Criterio nHibernate
Tengo una vista sql, en la que el tipo de datos de cada columna esstring
, para usar con el complemento jquery datatables.
Una de las columnas contiene una fecha de formato del Reino Unido dd / mm / aaaa.
Esta columna debe seguir siendo una cadena para trabajar con el filtrado de pulsaciones de teclas del complemento, sin embargo, para ordenarla debe tratarse como una fecha.
Estoy usando criterios nhibernate para crear la consulta sql y quiero generar el siguiente orden por cláusula, ya que esto ordena las fechas correctamente
order by CONVERT (datetime, DateOfBirth, 103)
Sin embargo enNhibernate.Criterion.Projections
no hayConvert
método. Ahi estaCast
, pero recibo el siguiente error debido a que es un formato de fecha del Reino Unido:
The conversion of a varchar data type to a datetime data type
resulted in an out-of-range value
He intentado también probé lo siguiente:
criteria.AddOrder(
Order.Desc(
Projections.SqlFunction(
"CONVERT",
NHibernateUtil.DateTime,
new IProjection[]
{
Projections.Property(propNames[orderByColumn]),
Projections.Property("104")
}
)
)
);
Pero recibo el siguiente mensaje de error:
NHibernate.HibernateException: Current dialect
NHibernate.Dialect.MsSql2008Dialect doesn't support the function: CONVERT
¿Se puede usar la función de conversión SQL cuando se usaNhibernate.Criterion
?