1
特定のSQLを1つのクエリに追加します。このクエリはSQL Server上でのみ動作します。それを行う方法:NHibernateでどのようにTABLESAMPLEするのですか?
基準:
Session
.CreateCriteria<User>()
.Add(Expression.Sql("TABLESAMPLE (100 PERCENT)"))
.SetMaxResults(count)
.List<User>();
生成されたSQL:
SELECT
TOP (6)
this_.user_id
FROM users this_
WHERE TABLESAMPLE (100 PERCENT)
EXPECTED SQL:
SELECT
TOP (6)
this_.user_id
FROM users this_
TABLESAMPLE (100 PERCENT)
キーワードが存在するはずがないザ・を。どうやってするか?とにかく普通のSQLを持ってしようとしている場合、SQL上ICriteria
抽象化を使用する理由
10倍
私は単純化のためにここにはリストされていない制限があります。 HQLもオプションです。 – mynkow
OK、NHibernateの抽象化をそのような特定のデータベース関数と混在させることは可能ではないと私は考えています。たぶんストアドプロシージャはここに適していますか? – NOtherDev
Criteria apiの拡張はどうですか?拡張ポイントはありますか? SPはオプションではありません:( – mynkow