質問
私は
として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")
でしょうかしら?
所属していません StackOverflow