我是 Neo4j 的新手,并尝试在 where 子句中使用 lambda 表达式进行简单的 Cypher 查询,但由于某种原因,我似乎无法弄清楚为什么这不起作用。
好像:
class HealthNode {
public string Name{get;set;}
//Other Stuff
}
string Name = "Foobar";
var query = client
.Cypher
.Start(new { n = Neo4jClient.Cypher.All.Nodes })
.Where((HealthNode n) => n.Name == Name)
.Return<HealthNode>("n");
如果我转储我得到的文本和参数:
START n=node(*)
WHERE (n.Name! = {p0})
RETURN n
//P0 Foobar
当我执行此操作时,我当然会得到:
Cypher does not support != for inequality comparisons. Use <> instead
为什么在世界上是一个额外的感叹号到变量的名称?