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

我收到以下错误。

无法将类型“Nest.BaseQuery”隐式转换为“Nest.QueryDescriptor”。存在显式转换(您是否缺少演员表?)

无法将类型“Nest.BaseQuery”隐式转换为“Nest.QueryDescriptor”。存在显式转换(您是否缺少演员表?)

无法将 lambda 表达式转换为类型“Nest.SearchDescriptor”,因为它不是委托类型

无法将 lambda 表达式转换为类型“Nest.BaseQuery”,因为它不是委托类型

我在这里做错了什么?

4

1 回答 1

2

更改此行:

QueryDescriptor<ProductSummaryModel> query = null;

BaseQuery query = null;

这里的文档明显错误,将尽快更新!

于 2013-05-26T08:41:28.740 回答