質問

私は

としてLINQクエリを持っています
var mdls = (from mdl in query dbSession.Query<MyModel>("MyIndex")
              orderby mdl.Name
              select dept).Skip(page.Value).Take(4);
「MyIndexは」RavenDBで定義されたシンプルな指数である

。私はRavenDBにインデックスを照会しながら、それが「TotalResults」を返すことを知っています。 ここ

を参照してください。

私はTotalResultプロパティを持つクエリの結果を取得できますか?

役に立ちましたか?

解決

あなたはLuceneQueryを実行している場合は、DocumentQueryを取得するには、それは次のようにあなたがそれにアクセスできるようにTotalResultsが含まれてQueryResultではプロパティを持って返されます:

var documentQuery = (from mdl in query dbSession.LuceneQuery<MyModel>("MyIndex")
                     orderby mdl.Name
                     select dept).Skip(page.Value).Take(4);

var totalResults = documentQuery.QueryResult.TotalResults;

あなたの代わりにLINQクエリを実行している場合、あなたはスキップして、それを制限する前に、クエリのカウントを()を呼び出すと取ることができます:

var linqQuery = (from mdl in query dbSession.Query<MyModel>("MyIndex")
                      orderby mdl.Name
                      select dept);

var totalResults = linqQuery.Count();

var pageOfResults = linqQuery.Skip(page.Value).Take(4);

他のヒント

あなたはあなたのクエリの最後に、このような何かをする必要があります。

.Customize(x => x.TotalResult)

TotalResultプロパティはLuceneQuery、ないLINQクエリでのみ使用できます。

あなたがQueryResult通じなくsession.LuceneQuery<YouModel>("YourIndex")からsession.Query<YourModel>("YourIndex")を得ることができるようです。しかし、私はなぜ1つの使用session.Query<YourModel>("YourIndex")でしょうかしら?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top