ich mit dem Neo4jClient v 1.1.0.34 von C# bin mit Neo4j verwenden und möchte foreach verwenden, um einen Wert in mehr in C# bemerkt zu aktualisieren, habe ich den folgenden Code:Chiffre foreach In Neo4j .net-Client
graphClient.Cypher.Match("(u:User)-[:HAS_EMAIL]->(e:Email)-[:HAS_VER_CODE]->(s:VerCode)"
)
.Where((User u, Email e, VerCode s) => (
u.id == user.id && e.address == email.address
&& e.isVerified == false && s.expiry > DateTime.Now))
.Set("s.expiry = {now}")
.WithParam("now", DateTime.Now)
.ExecuteWithoutResults();
Der obige Code setzt das Verfallsfeld auf keinem der übereinstimmenden Knoten.
Ich muss das Verfallsfeld auf die aktuelle Datum Zeit setzen, aber ich kann nicht herausfinden, wie die .foreach (und haben keine Beispiele in C# finden), die .for jede Vorlage ist wie folgt:
.foreach (var item in collection){}
Vielen Dank für Ihre Zeit,
Adrian
Hallo. Danke für den Kommentar. Tatsächlich liefert die Übereinstimmung wie oben korrekt die Knoten, die der Bedingung entsprechen. wenn ich dann über jeden zurückgegebenen Knoten gehe und eine separate Cypher-Abfrage mache, die diesem einzelnen Knoten entspricht, und rufe .Set auf (".expiry = {now}"). WithParam ("now", DateTime.Now), das Ergebnis ist korrekt . Ich mache jedoch viele Aufrufe an die Datenbank, anstatt die Lösung mit der Idee, die Chiffre foreach im ersten Chiffrierbefehl auszuführen. – user1175362
Cool - in diesem Fall habe ich meine Antwort aktualisiert, um zu sein, was Sie eigentlich gefragt haben :) –
Vielen Dank! Ich werde bis zu ein paar Tagen keine Zeit haben, es zu versuchen, aber vielen Dank :) Ich werde diesen Beitrag aktualisieren, wenn ich es versuche und nochmals danke :) – user1175362