Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 带投影的RavenDb变换_.net_Ravendb - Fatal编程技术网

.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

谢谢,它很有帮助。如果能在这里使用,那就太好了: