可以';t使用Neo4J客户端创建项目

本文关键字:Neo4J 客户端 创建 项目 使用 可以 | 更新日期: 2023-09-27 18:20:11

我正在尝试使用Neo4J客户端以编程方式将信息保存到Neo4J数据库中。

我一直在努力效仿这些例子,但似乎没有奏效。

我已经创建了一个数据库连接,它似乎可以工作,但由于下面的行,我的代码无法编译。。

public void SaveNewRootItem(string child)
    {
        client = new GraphClient(new Uri([ConnectionStringhere]));
        client.Connect();
            client.Cypher
            .Create("(m:LinkItem {child})")
            .WithParams("child", child);
    }

根据开源repo的wiki上的例子,我应该在"WithParams"中提供参数化信息。

我做错了什么?

可以';t使用Neo4J客户端创建项目

我想我明白你在做什么了,假设child存在,你需要做一些更改。首先,您希望使用WithParam而不是WithParams,然后,要将其放入数据库,您需要使用ExecuteWithoutResults(),因此您的查询看起来像:

client.Cypher
    .Create("(m:LinkItem {child})")
    .WithParam("child", child)
    .ExecuteWithoutResults();

如果您确实想使用WithParams,则必须提供字典:

client.Cypher
    .Create("(m:XX {child})")
    .WithParams(new Dictionary<string, object>{{"child", child}})
    .ExecuteWithoutResults();

一般来说,如果在一个查询中有很多参数,那么这很有用,不管怎样,都可以归结为相同的参数。