私は新しいLINQプロバイダを使ってLINQクエリを使って複数フィールドの検索ページに使用しているCriteriaクエリを置き換えようとしています。しかし、私はページングを実装できるようにレコード数を取得する問題に遭遇しています。私は、結果を達成しようとしている は、LINQを使用してCriteria APIからCountDistinct投影によって生成されたものと同等です。これを行う方法はありますか?NHibernate - LINQを使ったCountDistinctプロジェクションに相当
LINQによって提供されるDistinct()メソッドは、期待どおりの動作をしていないようで、フィールドによってグループ化されたLINQクエリの最後に ".Distinct()。Count()"を追加します。 (整数ID列)の別個のカウントは、それらの値の明確でないカウントを返すように見えます。
私は必要に応じて使用しているコードを提供することができますが、フィールドが非常に多いので、それは かなり長いので、必要でない場合は投稿を群集にしたくありませんでした。
ありがとうございます!
私はちょうど同じ問題に遭遇しました。これは、間違ったSQLを生成するLINQアダプタの問題のようです。同じ回避策を使用しなければならず、 'Count()'を実行する前に 'ToList()'でクエリの評価を強制する必要がありました。 –