我已经从弹性5.6升级到6.0.2 in .NET代码。
在5.6版本中,用于正常工作的代码下方 列表结果=新列表((;
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);
但是,由于其保护级别无法访问方法,这给了我错误。我了解我将无法直接访问它,但我对如何访问它的想法不足。
使用PostData.Serializable(results)