我有一个包含 Order By 子句的查询。NHibernate 生成的 SQL 看起来像
ORDER BY coalesce(x.Company as x__.Company, y.Company) asc
这会失败,因为 MS SQL Server 的 Order by 子句中不允许使用“as”。有什么办法可以防止混叠?
我编写的条件查询如下所示:
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);