小编Ale*_*ice的帖子

C#Elasticsearch NEST无法转换lambda表达式

遇到了完全相同的问题(并没有回答)ElasticSearch NEST Search

我用:

  1. .NET Framework 4.5;

  2. ASP.NET MVC 5;

  3. Elasticsearch 1.6.0(在服务器上);

  4. Elasticsearch.NET 1.6.1

  5. NEST 1.6.1

我有一个MVC控制器,它有两个动作:

  1. 索引 - 包含HTML UI表单

  2. 搜索 - 包含Elasticsearch.NET客户端和查询.

    public ActionResult Search(SearchCreteria sc)
    {
      Settings settings = new Settings();
      Client client = new Client(settings);
      ElasticsearchClient esClient = client.Get();
    
      var test = esClient.Search<Contract>(body => body.Query(query => query.QueryString(qs => qs.Query("test"))));
    
      return View(test);
    }
    
    Run Code Online (Sandbox Code Playgroud)

整个" body => body.Query(query => query.QueryString(qs => qs.Query("test"))) "上面代码中的lambda表达式有下划线的红色下划线,并带有以下工具提示:

(参数)?身体

错误:

无法将lambda表达式转换为类型"object",因为它不是委托类型

我搜索了问题并发现在99%的情况下,人们忘记包含一个程序集,通常是System.Linq.

嗯..我绝对不会忘记添加那个,但我可能我必须包括一个NEST特定组件或类似的东西(我确定不是真的,除了NEST本身),所以我决定添加一切我虽然可能有点相关,我最终得到了这个:

using System;
using System.Collections.Generic;
using …
Run Code Online (Sandbox Code Playgroud)

c# lambda delegates elasticsearch nest

4
推荐指数
1
解决办法
2288
查看次数

标签 统计

c# ×1

delegates ×1

elasticsearch ×1

lambda ×1

nest ×1