2016-12-02 5 views
0

最初のクエリから最初のクエリが返され、上位10/20のリコードが返されます。どちらのクエリも同じフィルタ条件を使用する必要があります。複数のクエリでNHibernateパラメータを共有する

フィルタ条件で使用するフィルタ条件とパラメータを1か所に書き込んで両方のクエリで使用する方法を教えてください。

条件文字列変数に格納して両方のクエリで使用できますが、パラメータを共有する方法はありますか?私はHQL

答えて

1

チェックこの類似したQ & Aを使用しています

Nhibernate migrate ICriteria to QueryOver

行数のためNHiberanteでのネイティブサポートがあります。アウトオブボックスの準備を総取得する - のは、それは部品は、突起が...今、私たちはその基礎となる基準を取る場所の任意の量を持っており、ブランドの新しい基準を作成するために変圧器を使用することができ

// the QueryOver 
var query = session.QueryOver<MyEntity>(); 

いくつかのクエリを持ってみましょう行数

// GET A ROW COUNT query (ICriteria) 
var rowCount = CriteriaTransformer.TransformToRowCount(query.UnderlyingCriteria); 

次のステップは、1回のラウンドトリップで両方のクエリを取得するために未来を使用することですDB

// ask for a list, but with a Future, to combine both in one SQL statement 
var list = query 
    .Future<MyEntity>() 
    .ToList(); 

// execute the main and count query at once 
var count = rowCount 
    .FutureValue<int>() 
    .Value; 

// list is now in memory, ready to be used 
var list = futureList 
    .ToList(); 
+0

upvote 'Future'を示唆ため –

関連する問題