如何使用Project查询子集合中的字段?

时间:2012-03-26 20:30:00

标签: indexing ravendb

我试图完全实现Querying a child collection by multiple values in RavenDB中描述的内容,但是当我尝试实现它时,我似乎无法在原始问题的此片段中建议的方法Project和类Field的位置

public class Products_ByCategoryIdAndSpecs_SortByTotalSold : AbstractIndexCreationTask<Product>
{
    public Products_ByCategoryIdAndSpecs_SortByTotalSold()
    {
        this.Map = products => from product in products
                               select new
                               {
                                   product.CategoryId,
                                   _ = Project(product.Specs, spec => new Field("Spec_" + spec.Key, spec.Value, Field.Store.NO, Field.Index.ANALYZED)),
                                   product.TotalSold
                               };
    }
}

我正在使用RavenDB的不稳定版本721

2 个答案:

答案 0 :(得分:1)

ErikR, 您需要使用此处概述的语法:

http://ravendb.net/docs/client-api/advanced/dynamic-fields

答案 1 :(得分:0)

您希望使用几天前由Matt Warren添加的新.Intersect()功能。对于您所关联的问题,似乎是一个完美的解决方案。看看这里:http://issues.hibernatingrhinos.com/issue/RavenDB-51