2013-05-21 3 views
2
var products = 
       this.productClient.Search<ProductSummaryModel>(s => s.From(startIndex).Size(pageSize).Query(q => 
        { 
         QueryDescriptor<ProductSummaryModel> query = null; 
         if (productDetails.IsVisible.HasValue) 
         { 
          var productStatus = productDetails.IsVisible.Value 
                ? Constants.ProductStatus.Visible 
                : Constants.ProductStatus.Active; 
          query &= query.Term(p => p.Status, productStatus.ToString()); 
         } 
         else 
         { 
          query &= !q.Term(p => p.Status, Constants.ProductStatus.Deleted.ToString()); 
         } 

         return query; 
        })); 

Я получаю следующие ошибки.Ошибка преобразования типа при использовании запроса dsl для гнезда

Невозможно неявно преобразовать тип 'Nest.BaseQuery' в 'Nest.QueryDescriptor'. Явное преобразование существует (вы пропускаете листинг?)

Невозможно неявно преобразовать тип 'Nest.BaseQuery' в 'Nest.QueryDescriptor'. Явное преобразование существует (вы пропали без вести бросок?)

Невозможно преобразовать лямбда-выражения к типу «Nest.SearchDescriptor», потому что это не тип делегата

Невозможно преобразовать лямбда-выражения к типу «Nest.BaseQuery», потому что он не является делегатом типа

Что я здесь делаю неправильно?

+0

Я следую примеру http://nest.azurewebsites.net/concepts/writing-queries.html – chiefbrownbotom

ответ

2

Изменить эту строку:

QueryDescriptor<ProductSummaryModel> query = null; 

в

BaseQuery query = null; 

Документах вопиюще неправильно здесь будет обновлять это как можно скорее!

+0

Благодарим за ответ. Я ценю помощь. – chiefbrownbotom

Смежные вопросы