2
在问这个问题之前,我搜索了一段时间,但没有找到任何有关此主题的信息。NHibernate调用PostgresSQL的SELECT DISTINCT ON()
我的问题很简单:
我有NHibernate的标准和投影,我想设置DISTINCT ON(列)
我对投影代码如下:
criteria.SetProjection(
Projections.ProjectionList()
.Add(Projections.Distinct(Projections.Property("ID")))
.Add(Projections.Property("A"))
.Add(Projections.Property("B"))
);
这生成以下SQL(位简化):
SELECT DISTINCT ID, A, B FROM ABC ORDER BY A
但不幸的是pe如果这个查询非常差,那么这个性能会很高。
我已经优化我的SQL运行得更快,看起来像这样:
SELECT DISTINCT ON (A) ID, A, B FROM ABC ORDER BY A
反正我有可以让NHibernate的生成SQL,我已经展示? NHibernate的方言可以解决这个问题吗?
期待您的反馈! 非常感谢!