我想避免在查询语句中使用参数注入。因此,我们使用了 NEO4J .NET 客户端类中的以下指令:
var queryClassRelationshipsNodes = client.Cypher
.Start("a", (NodeReference)sourceReference.Id)
.Match("a-[Rel: ***{relationshipType***} ]->foundClass")
.Where("Rel.RelationStartNode =" + "\'" + relationshipStart + "\'")
.AndWhere("Rel.RelationDomainNode =" + "\'" + relationshipDomain + "\'")
.AndWhere("Rel.RelationClassNode =" + "\'" + relationshipClass + "\'")
.WithParam("relationshipType", relationshipType)
.Return<Node<Dictionary<string, string>>>("foundClass")
.Results;
但是,此代码一旦被服务器执行就不起作用。由于某种原因,PARM: relationshipType 与我们放在 {} 之间的变量没有连接。
有人可以帮我们调试这段代码的问题吗?我们宁愿使用 WithParms 而不是在语句中注入变量。
非常感谢!