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的方言可以解決這個問題嗎?
期待您的反饋! 非常感謝!