Usando a função SQL CONVERT através do critério nHibernate
Eu tenho uma visualização sql, na qual o tipo de dados de cada coluna éstring
, para uso com o plug-in jquery datatables.
Uma das colunas contém uma data no formato do Reino Unido dd / mm / aaaa.
Essa coluna precisa permanecer uma string para trabalhar com a filtragem de teclas do plug-in, no entanto, para classificá-la, ela precisa ser tratada como uma data.
Estou usando critérios nhibernate para criar a consulta sql e quero gerar a seguinte ordem por cláusula, pois isso ordena as datas corretamente
order by CONVERT (datetime, DateOfBirth, 103)
No entanto, emNhibernate.Criterion.Projections
não háConvert
método. Há simCast
, mas recebo o seguinte erro devido ao fato de ser um formato de data no Reino Unido:
The conversion of a varchar data type to a datetime data type
resulted in an out-of-range value
Eu tentei também tentei o seguinte:
criteria.AddOrder(
Order.Desc(
Projections.SqlFunction(
"CONVERT",
NHibernateUtil.DateTime,
new IProjection[]
{
Projections.Property(propNames[orderByColumn]),
Projections.Property("104")
}
)
)
);
Mas eu recebo a seguinte mensagem de erro:
NHibernate.HibernateException: Current dialect
NHibernate.Dialect.MsSql2008Dialect doesn't support the function: CONVERT
A função de conversão SQL pode ser usada ao usarNhibernate.Criterion
?