gpt4 book ai didi

c# - 如何将 ISearchResponse 转换为 C# 类对象?

转载 作者:太空狗 更新时间:2023-10-30 01:03:01 25 4
gpt4 key购买 nike

如何转换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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com