我在cosmos图中运行了以下查询(在C#中):
IDocumentQuery<dynamic> query = db.Client.CreateGremlinQuery<dynamic>(db.Graph, $"g.addV().property('value','{HttpUtility.UrlEncode("\"like\"")}')");
var result = query.ExecuteNextAsync().Result.FirstOrDefault();
正如您所见,“喜欢”中的“l”是小写的。但是,当我看到Azure门户中的结果“Like”被存储!问题是这个问题来自哪里?。请注意,HttpUtility.UrlEncode
存在,因为在cosmos db中存储某些特定字符(例如'
时存在一些问题(虽然这里没有任何这些字符,但实际上我有)。
无论如何,问题不是来自HttpUtility.UrlEncode
,因为它的结果被观察了,它是“%22like%22”。
正如我测试的那样,这个问题发生在“l”字符而不是“b”作为实例。请参阅Azure门户中的输出:
答案 0 :(得分:1)
现在Gremlin解析器中存在一些已知错误,其中某些在SQL语法中有意义的关键字未被正确处理。使用值const MyStyledComponent = withStyles(styles)(MyComponent);
也可以观察到奇怪的行为。我们已经直接向Cosmos团队发表了关于此问题的解释,解析器应该会很快修复。
答案 1 :(得分:1)
此问题是一个错误,已在Microsoft.Azure.Graphs包版本&gt; = 0.3.0-preview
中得到解决。
如果您还没有,请升级您的nuget包参考。