繁体   English   中英

Neo4JClient Cyper.Create已弃用

[英]Neo4JClient Cyper.Create Deprecated

我刚刚开始探索Graph数据库和Neo4J的Neo4jClient库。 我正在使用从Visual Studio中的NuGet下载的Neo4JClient v1.1.0.11。 我想在Neo4J中创建一个节点,为此,我正在使用此代码(C#):

var client = new GraphClient(new Uri("http://localhost:7474/db/data"), "user", "pass");
client.Connect();
client.Cypher.Create();

但是在Cypher.Create Intellisense上显示它已被弃用。 我的问题是创建节点的替代方法是什么? 一个例子将不胜感激。

在这种情况下,我有一个要在数据库中创建的用户。 该类如下所示:

public class User
{
    public Int32 ID { get; set; }
    public String UserName { get; set; }
    public String Name { get; set; }
    public Boolean Active { get; set; }
    public String Email { get; set; }
    public String Password { get; set; }
}

谢谢

我相信Create方法上只有一个重载已被标记为过时-除非有我不知道的东西。 以下代码应满足您的需要,并且不会显示为已弃用。

var client = new GraphClient(new Uri("http://localhost:7474/db/data"), "user", "pass");
client.Connect();

var user = new User
{
    // initialise properties
};

client.Cypher
 .Create("(u:User {user})")
 .WithParams(new { user = user })
 .ExecuteWithoutResults();

可以使用多种变体,但可以使您入门。

顺便说一句,如果您在Create方法上使用第一个重载,您的确会看到它被标记为已弃用。 例如,此代码

client.Cypher
    .Create("(u:User {0})", user)
    .ExecuteWithoutResults();

在Visual Studio中会给您以下警告

'Neo4jClient.Cypher.ICypherFluentQuery.Create(string,params object [])'已过时:'请使用Create(string)和显式命名的params。 例如,使用Create(“(c:Customer {customer})”)。WithParams(new {customer})代替Create(“(c:Customer {0})”,customer)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM