【发布时间】:2017-10-06 16:27:45
【问题描述】:
我正在使用 CosmosDB 的 .NET API,我很难弄清楚如何在 CosmosDB 查询被反序列化为类之前获得原始结果。浏览文档,我找到的所有示例都将结果转换为特定类或动态。那就是:
//This returns a Document, wich actually is a dynamic...
client.ReadDocumentAsync(...)
//This returns an object of type MyClass, wich I supose is casted internally by the API
client.ReadDocumentAsync<MyClass>(...)
我想要做的是获取结果的原始原始 JSON 有效负载来检查它,而无需将其反序列化为其他任何东西的开销。
有人知道是否可以使用 .NET api 获得原始结果?如果有,怎么做?
在其他情况下,我需要将结果用作 ExpandoObject 来动态处理它,但我发现 api 给出的“动态”结果不是“可扩展的”,所以我不得不将它们序列化然后反序列化再次以递归形式进入 ExpandoObject。此外,结果被我的对象不需要的 _rid、Etag 等属性污染了。很烦人。
我认为序列化然后再次反序列化是不必要的开销,所以也许最佳方法是获取原始 JSON 结果并编写一个方法直接反序列化到 Expando。
或者也许我失去了任何一点,并且有一个 API 可以将结果作为 Expandos。有人知道吗?
【问题讨论】:
标签: azure-cosmosdb