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' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)

デリゲート型ではないため、ラムダ式を「Nest.SearchDescriptor」型に変換できません

デリゲート型ではないため、ラムダ式を「Nest.BaseQuery」型に変換できません

ここで何が間違っていますか?

4

1 に答える 1

2

この行を変更します。

QueryDescriptor<ProductSummaryModel> query = null;

BaseQuery query = null;

ここのドキュメントは露骨に間違っています。これをできるだけ早く更新します!

于 2013-05-26T08:41:28.740 に答える