作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何转换ISearchResponse到 C# 类对象。
我正在尝试转换为我的类名称将是动态的类对象。
ISearchResponse<dynamic> bResponseNewLoop =
objElastic.Search<dynamic>(s => s
.Index("index1")
.Type("DOCTYPE")
.From(0)
.Size(10)
.Source(sr => sr.Include(RequiredFields)));
从上面的 Response ,我想将响应对象转换为类对象和我从 xml 文件中检索的类名。
最佳答案
在较新的 NEST 版本中,我们引入了 IDocument
这允许您对适当的类型进行延迟反序列化。
var response = objElastic.Search<IDocument>(s => s
.Index("index1")
.Type("DOCTYPE")
.From(0).Size(10)
.Source(sr => sr.Include(RequiredFields)
);
现在响应时你可以遍历所有 .Hits
并检查命中元数据并使用它反序列化为您想要的类型。例如
.Hits.First().Source.As<MyDocument>()
As<>()
是 IDocument
上的一个方法
关于c# - 如何将 ISearchResponse <dynamic> 转换为 C# 类对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31160928/
我使用NEST编写了C#代码,该代码对我的ES数据库进行搜索查询。我可以看到这些查询成功,并通过Postman提供了json响应正文。我想在我的代码中使用这些响应。例如, ISearchRespons
如何转换ISearchResponse到 C# 类对象。 我正在尝试转换为我的类名称将是动态的类对象。 ISearchResponse bResponseNewLoop = objElasti
我是一名优秀的程序员,十分优秀!