J'ai une requête qui a une clause Order By. Le code SQL généré à partir de NHibernate ressemble àEmpêchez NHibernate d'aliaser dans ORDER BY
ORDER BY coalesce(x.Company as x__.Company, y.Company) asc
Ceci échoue lorsque 'as' n'est pas autorisé dans la clause Order by dans MS SQL Server. Est-ce que je peux empêcher l'aliasing?
La requête de critères que je l'ai écrit ressemble à:
var orderBy = Projections.SqlFunction("coalesce", NHibernateUtil.String,
Projections.ProjectionList()
.Add(Projections.Property("x.Company"))
.Add(Projections.Property("y.Company")));
var order = Order.Asc(orderBy);
criteria.AddOrder(order);
Thanks Diego! Cela a aidé. J'ai été frappé avec celui-ci pendant un moment. – WorldIsRound
Salut, je suis confronté à un problème similaire. Mais au lieu de cela, j'ajoute des colonnes de tri conditionnelles dans la liste des projections et en dernier en fournissant à Orderby() où obtenir ce "AS" en cassant le SQL. J'ai besoin d'avoir tout le tri par colonnes en utilisant de nombreuses conditions. Une idée? – Ammad