У меня возникла проблема с запросом вычисленного поля индекса IEnumerable. Я использую Sitecore 7.2 upd2, Lucene, ContentSearch и PredicateBuilder.Sitecore Content Search PredicateBuilder vs IEnumerable
Я пытаюсь запросить цены на товары, которые доступны в разделе продуктов. Существует некоторая тяжелая логика для поиска доступных продуктов, поэтому я решил поместить все доступные цены продукта в вычисленную область. К сожалению, похоже, что я не могу запросить список цен с PredicateBuilder.
Мой запрос выглядит следующим образом: конфигурация
predicate = predicate.And(p => p.Prices.Any(x => x >= priceFrom && x <= priceTo));
поле в индексном конфигурации:
<field fieldName="Prices" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.Collections.Generic.IEnumerable`1[System.Int32]" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" />
и это моя ошибка:
Invalid Method Call Argument Type: Field - FieldNode - Field: prices - System.Collections.Generic.IEnumerable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]. Only constant arguments is supported.
Любые идеи?
да что, кажется, я также пытался простой .Count() - не повезло. Похоже, я не могу делать никаких простых операций над IEnumerable. –
Хм .. возможно, фактический вызов Any(), а не Лямбда, как я сказал. – herskinduk