0
Neo4jで永続化したいC#オブジェクトモデルがあります。各プロジェクトには1000〜4000人の子供がいる数十のプロジェクトが含まれています。私は現在公式のC#ドライバを使用していますが、別のものに切り替えることができます。一度にこの1人の子供をすることは、意外にも非効率的です。これは、1つのプロジェクトのために数分かかります:Neo4j.Driver.V1と多くのノードと関係を作成する方法
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);
}
}
私はサイファーのnoobだけど、私は、私はおそらくUNWIND
またはFOREACH
を含むクエリにパラメータとして子供を渡す必要があることを集めるが、どのようにそれは私にははっきりしていませんRun()
へのオプションの第2パラメータがDictionary
またはobject
(そのオブジェクトがどのように解釈されるかはわかりません)のいずれかであるため、プログラム的に発生します。 これをC#から効果的にやりとりする方法は?
ここで、変数「neoId」は定義されていますか? –
'neoId'は長いです。コードは単なるスニペットであり、私が何を達成したいかというアイデアを提供しています。 'project'または' _driver'も定義されていません。 –