2014-11-14 2 views
4

У меня есть следующий, априори, простой запрос на магазине RavenDb:Сравните два свойства одного и того же лица в ИНЕКЕ в RavenDb

return _session 
    .Query<StockKeepingUnit>() 
    .Where(x => x.QuantityInStock < x.OrderLevel) 
    .ToList() 
    .GroupBy(x => x.BrandName); 

К которому RavenDb бросает исключение на ИНЕКЕ: Could not understand expression: .Where(x => (x.QuantityInStock < x.OrderLevel))

Я понимаю, что проблема заключается в том, что я не могу запросить сравнение свойств в одном объекте и вызывать .ToList() перед тем, как «обходит» проблему, но крайне неэффективно.

Что было бы правильным способом выполнить этот запрос?

ответ

0

Вы можете сделать это в индексе. Это позволяет вам вычислять вещи один раз во время индексации, а затем во время запроса мы можем просто сканировать индекс.

+0

Спасибо @Ayende, но можете ли вы проиллюстрировать пример кода? –