azure-cosmosdb - 解析 Gremlin.Net 响应的最佳方法?

标签 azure-cosmosdb gremlin

Gremlin.Net 获得 POCO 的最佳方式是什么?回复?

现在我手动转换为字典:

var results = await gremlinClient.SubmitAsync<Dictionary<string, object>>("g.V()");
var result = results[0];
var properties = (Dictionary<string, object>)result["properties"];
var value = ((Dictionary<string, object>)properties["myValue"].Single())["value"];

最佳答案

我发现GremlinClient只能返回动态对象,如果你把其他任何东西作为类型,它就会失败(除非我做错了什么)。

我最终做的是将动态对象序列化为 JSON,然后将其反序列化为我想要的对象类型:

var results = await gremlinClient.SubmitAsync<dynamic>("g.V()");
JsonConvert.DeserializeObject<MyResult>(JsonConvert.SerializeObject(results));

动态对象只是一个字典,但是如果您首先将它序列化,它具有适当的字段/属性层次结构,然后可以将其反序列化为您实际期望的内容。

必须进行额外的转换似乎有点痛苦,但这是我让它工作的唯一方法。

关于azure-cosmosdb - 解析 Gremlin.Net 响应的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49579649/

相关文章:

azure-cosmosdb - 区分 Azure Cosmos DB 中的分区键和分区键范围

python - 如何使用 pydocumentdb 在 Cosmos DB 中创建分区集合?

gremlin - SPARQL-Gremlin 插件支持 Janusgraph 吗?

node.js - 如何使用 Cosmos DB 触发器构建 Azure 函数?

c# - CosmosDB - UTC 查询的 DateTimeOffset 问题

azure - DocumentDB 中的数据跟踪

gremlin - 使用 Gremlin 将 Tinkergraph 子图导出到文件

gremlin - 如何使用 JanusGraph 中的属性值检索所有顶点?

java - 在 Java 中使用 gremlin 遍历图形时如何收集属性值?

Neo4j 索引和遗留数据