首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Neo4JClient Cyper.Create不赞成

Neo4JClient Cyper.Create不赞成
EN

Stack Overflow用户
提问于 2015-10-29 05:42:53
回答 1查看 87关注 0票数 0

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var client = new GraphClient(new Uri("http://localhost:7474/db/data"), "user", "pass");
client.Connect();
client.Cypher.Create();

但是在Cypher.Create上,Intellisense显示它是不受欢迎的。我的问题是,创建节点的替代方式是什么?最好举一个例子。

在这种情况下,我有一个想要在数据库中创建的用户。这门课看上去像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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; }
}

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-29 06:13:56

我相信在Create方法上只有一个过载被标记为过时了--除非有我不知道的事情。下面的代码应该执行您所需要的操作,并且不会显示为不推荐的代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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方法上使用第一个重载,您确实会看到它被标记为不推荐使用。例如,这段代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 })。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33415909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文