我刚刚开始探索Neo4J的图形数据库和Neo4J库。我正在使用Visual中从Neo4JClient下载的NuGet 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; }
}
谢谢
发布于 2015-10-29 06:13:56
我相信在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中给出以下警告
'Neo4jClient.Cypher.ICypherFluentQuery.Create(string,params object[])‘是过时的:’用Create(字符串)代替显式命名的params。例如,代替Create("(c:Customer {0})",customer),使用Create("(c:Customer {object[]})“).WithParams(新的{ customer })。
https://stackoverflow.com/questions/33415909
复制相似问题