0

RavenDB v4 官方文档建议使用IRavenQueryable<T>.Select()方法在结果集中获取自定义字段。它甚至适用于计算字段,例如

session.Query<Order>()
       .Select(x => new { Total = x.Lines.Sum(l => l.PricePerUnit * l.Quantity) })

问题:IDocumentQuery<T>当使用or IAsyncDocumentQuery<T>instance 而不是时,有没有办法在结果集中拥有计算字段(如上)IRavenQueryable<T>

文档说请求被Query转换成IDocumentQuery<T>幕后。但是,缩小输出字段集的最接近的方法是SelectFields<T>(),它没有在结果集中包含计算字段的选项。

PS文档说Query总是被翻译成DocumentQuery对象。但是,我在代码中找不到它是如何实现的(尽管我猜它是通过IQueryable.Expression完成的)。也许RQL是现在要走的路……

4

0 回答 0