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”类型,因为它不是委托(delegate)类型
无法将 lambda 表达式转换为“Nest.BaseQuery”类型,因为它不是委托(delegate)类型
我在这里做错了什么?
最佳答案
更改此行:
QueryDescriptor<ProductSummaryModel> query = null;
到
BaseQuery query = null;
这里的文档明显错误,我们会尽快更新!
关于elasticsearch - 使用查询 dsl for Nest 时的类型转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16681311/