.net 带投影的RavenDb变换
我有一个非常简单的索引,它返回产品的扁平结构,下面是我如何使用它:.net 带投影的RavenDb变换,.net,ravendb,.net,Ravendb,我有一个非常简单的索引,它返回产品的扁平结构,下面是我如何使用它: _documentSession.Query<ProductsIndex.IndexResult, ProductsIndex>(). Customize(x => x.WaitForNonStaleResults()). OrderByDescending(x => x.DateTime). Take(20). AsProjection<ProductsIndex.IndexRes
_documentSession.Query<ProductsIndex.IndexResult, ProductsIndex>().
Customize(x => x.WaitForNonStaleResults()).
OrderByDescending(x => x.DateTime).
Take(20).
AsProjection<ProductsIndex.IndexResult>().
ToList();
\u documentSession.Query()。
自定义(x=>x.WaitForNonSaleResults()。
OrderByDescending(x=>x.DateTime)。
以(20)为例。
AsProjection()。
托利斯特();
它工作并返回20个最后结果。现在我想向这个查询添加一个转换器。以下是我的尝试:
_documentSession.Query<ProductsIndex.IndexResult, ProductsIndex>().
Customize(x => x.WaitForNonStaleResults()).
TransformWith<ProductsTransformer, ProductsTransformer.TransformerResult>().
OrderByDescending(x => x.DateTime).
Take(20).
AsProjection<ProductsTransformer.TransformerResult>().
ToList();
\u documentSession.Query()。
自定义(x=>x.WaitForNonSaleResults()。
TransformWith()。
OrderByDescending(x=>x.DateTime)。
以(20)为例。
AsProjection()。
托利斯特();
所以我添加了TransformWithLine,并更改了Projection line。问题是它只返回8个文档。据我所知,它没有获得AsProjection部件,而是自行返回产品。您需要使用:
_documentSession.Query<ProductsIndex.IndexResult, ProductsIndex>().
Customize(x => x.WaitForNonStaleResults().SetAllowMultipleIndexEntriesForSameDocumentToResultTransformer(true)).
TransformWith<ProductsTransformer, ProductsTransformer.TransformerResult>().
OrderByDescending(x => x.DateTime).
Take(20).
ToList();
\u documentSession.Query()。
自定义(x=>x.WaitForNonSaleResults().SetAllowMultipleIndexEntriesForSameDocumentToResultTransformer(true))。
TransformWith()。
OrderByDescending(x=>x.DateTime)。
以(20)为例。
托利斯特();
请注意
setAllowMultipleIndexEntries for SameDocumentToResultTransformer
call谢谢,它很有帮助。如果能在这里使用,那就太好了: