尝试在Neo4J C#Client上使用相同的命令进行展开和合并

问题描述 投票:0回答:1

我试图从列表中创建一批节点,但我想确保neo4j数据库中不存在这些节点,我设法在单个节点上执行此操作,但我也想为我的批处理节点启用它试过这个命令:

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

我收到“参数计数不匹配”的错误

  • 我还是Neo4J的新手,我在c#语言中找不到任何一个有同样问题的人

非常感谢先进。

c# neo4j neo4jclient
1个回答
0
投票

我假设NodesList是你想要MERGE的节点列表 - 实质上,你需要从你的查询中删除innerNode,并使用你从singleNode传入的UNWIND

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

这应该会让你到那里

© www.soinside.com 2019 - 2024. All rights reserved.