1

我已在 .net 代码中从 Elastic 5.6 升级到 6.0.2。

在 5.6 版本以下用于正常工作的代码 List results = new List();

     foreach (var result in results)
     {

        var b = new Elasticsearch.Net.PostData<SiteSearchResult>(result);
     }

    public class SiteSearchResults
    {
        public SiteSearchResults() { }

         public int Total { get; set; }

        public List<SiteSearchResult> Results {get;set;}

     }

升级到 6.0.2 ElasticSearch.net 后,相同的代码出现编译错误。检查 PostData 的定义后发现它已更改为

   protected internal PostData(IEnumerable<object> item);

所以我改变了我的代码如下

     var b = new Elasticsearch.Net.PostData<SiteSearchResults>(results);

但是由于其保护级别,该方法无法访问,这给了我错误。我知道我无法直接访问它,但我不知道如何访问它。

4

1 回答 1

2

利用PostData.Serializable(results)

于 2018-04-04T03:48:43.643 回答