Как использовать Project для запроса полей в дочерней коллекции? - PullRequest
2 голосов
/ 27 марта 2012

Я пытался добиться именно того, что описано в Запрос дочерней коллекции по нескольким значениям в RavenDB , но когда я пытаюсь реализовать ее, я не могу понять расположение метода Project и класса Поле, предложенное в этом фрагменте исходного вопроса.

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
                               };
    }
}

Я использую нестабильную сборку 721 из RavenDB

Ответы [ 2 ]

1 голос
/ 27 марта 2012

ErikR, Вам необходимо использовать синтаксис, описанный здесь:

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

0 голосов
/ 27 марта 2012

Похоже, вы хотите использовать новую функцию .Intersect(), которая была добавлена ​​Мэттом Уорреном всего несколько дней назад. Кажется, это идеальное решение для вопроса, который вы связали. Взгляните сюда: http://issues.hibernatingrhinos.com/issue/RavenDB-51

...