尝试在 Neo4J C# 客户端上对同一命令执行 Unwind 和 Merge

Trying to do Unwind and Merge on the same command On Neo4J C# Client

我正在尝试从列表中创建一批节点,但我想确保这些节点不存在于 neo4j 数据库中, 我设法在单个节点上完成它,但我也想为一批节点启用它 我试过这个命令:

    graphClient.Cypher
        .Unwind(NodesList, "singleNode")
        .Merge("(node:Node {Id : {innerNode}.Id})")
        .OnCreate()
        .Set("innerNode= singleNode")
        .WithParams("innerNode")
        .ExecuteWithoutResults();

我收到 "Parameter Count Mismatch"

错误

非常感谢高级。

我假设 NodesList 是您想要 MERGE 的节点列表 - 实际上,您需要从查询中删除 innerNode,并且使用您从 UNWIND:

传入的 singleNode
graphClient.Cypher
    .Unwind(NodesList, "singleNode")
    .Merge("(node:Node {Id : singleNode.Id})")
    .OnCreate()
    .Set("node = singleNode")
    .ExecuteWithoutResults();

这应该能让你到达那里