C# 如何使用Neo4j.Driver.V1创建多个节点和关系
我有一个C#对象模型,我想与Neo4j一起使用。它包含几十个项目,每个项目有1000-4000个孩子。我目前使用的是官方的C#驱动程序,但我可以换成其他的。毫不奇怪,一次一个孩子做这件事效率低下。一个项目需要几分钟的时间:C# 如何使用Neo4j.Driver.V1创建多个节点和关系,c#,neo4j,C#,Neo4j,我有一个C#对象模型,我想与Neo4j一起使用。它包含几十个项目,每个项目有1000-4000个孩子。我目前使用的是官方的C#驱动程序,但我可以换成其他的。毫不奇怪,一次一个孩子做这件事效率低下。一个项目需要几分钟的时间: foreach (var service in project.Services) { using (var session = _driver.Session()) {
foreach (var service in project.Services)
{
using (var session = _driver.Session())
{
var query = "MATCH (p:Project) WHERE ID(p) = " + neoId +
" CREATE (ds:Service {name:\"" + service.Name +
"\"})<-[:HAS_SERVICE]-(p)";
var result = session.Run(query);
}
}
foreach(project.Services中的var服务)
{
使用(var会话=_driver.session())
{
var query=“匹配(p:Project),其中ID(p)=”+neoId+
“创建(ds:Service{name:\”“+Service.name+
“\”}1)首先,您需要创建一个包含服务名称数组的字典
2) 并在查询内部使用“展开”来展开它们
var servicesNames_ = new List<string>();
foreach (var service in project.Services)
{
servicesNames_.Add( service.Name );
}
var servicesName = servicesNames_.ToArray();
var params = new Dictionary<string, object> {
{"services", servicesName},
{"neoId", neoId}
};
using (var session = _driver.Session())
{
var query = "WITH {neoId} as neoId, {services} as services " +
"MATCH (p:Project) WHERE ID(p) = {neoId} " +
"UNWIND services as serviceName " +
"CREATE (ds:Service {name: serviceName})<-[:HAS_SERVICE]-(p) ";
var result = session.Run(query, params);
}
var servicesNames\uuz=new List();
foreach(project.Services中的var服务)
{
servicesNames.Add(service.Name);
}
var servicesName=servicesNames_uu.ToArray();
var params=新字典{
{“服务”,服务名称},
{“neoId”,neoId}
};
使用(var会话=_driver.session())
{
var query=“使用{neoId}作为neoId,{services}作为服务”+
“匹配(p:Project),其中ID(p)={neoId}”+
“将服务解除为serviceName”+
“创建(ds:Service{name:serviceName})1)首先,您需要创建一个包含服务名称数组的字典
2) 并在查询内部使用“展开”来展开它们
var servicesNames_ = new List<string>();
foreach (var service in project.Services)
{
servicesNames_.Add( service.Name );
}
var servicesName = servicesNames_.ToArray();
var params = new Dictionary<string, object> {
{"services", servicesName},
{"neoId", neoId}
};
using (var session = _driver.Session())
{
var query = "WITH {neoId} as neoId, {services} as services " +
"MATCH (p:Project) WHERE ID(p) = {neoId} " +
"UNWIND services as serviceName " +
"CREATE (ds:Service {name: serviceName})<-[:HAS_SERVICE]-(p) ";
var result = session.Run(query, params);
}
var servicesNames\uuz=new List();
foreach(project.Services中的var服务)
{
servicesNames.Add(service.Name);
}
var servicesName=servicesNames_uu.ToArray();
var params=新字典{
{“服务”,服务名称},
{“neoId”,neoId}
};
使用(var会话=_driver.session())
{
var query=“使用{neoId}作为neoId,{services}作为服务”+
“匹配(p:Project),其中ID(p)={neoId}”+
“将服务作为serviceName展开”+
“创建(ds:Service{name:serviceName})变量neoId
在哪里定义?neoId
很长。代码只是一个片段,给出了我想要完成的想法。没有project
或\u driver
定义。变量neoId
在哪里定义?neoId
很长。代码只是一个片段,给出了我想要的想法完成。未定义任何项目
或\u驱动程序
。