Direkte SQL-Aktualisierung mit LINQ ohne Select
In LINQ ist es möglich, SQL-Aktualisierungsbefehle ohne Verwendung einer Select-Anweisung zu generieren, wodurch eine direkte Aktualisierung möglich ist Aktualisierungen der Datenbank.
Um dies zu erreichen, nutzen Sie Folgendes Vorgehensweise:
Erstellen Sie ein Objekt und legen Sie seine Schlüsseleigenschaften fest:
Foo foo=new Foo { FooId=fooId };
Fügen Sie das Objekt hinzu zum Kontext:
context.Foos.Attach(foo);
Objekteigenschaften nach Bedarf aktualisieren:
foo.Name="test";
Senden Sie Änderungen an die Datenbank:
context.SubmitChanges();
Standardmäßig verwendet LINQ-to-SQL „UpdateCheck“, um Änderungen in Objekteigenschaften zu verfolgen. Wenn Sie für alle Eigenschaften den Wert „Nie“ festlegen, wird sichergestellt, dass LINQ keine Auswahlabfragen durchführt, um Änderungen zu erkennen. Stattdessen wird eine direkte Aktualisierungsanweisung generiert.
Um nullfähige Eigenschaften zu aktualisieren, initialisieren Sie das Objekt mit einem Nicht-Null-Wert für die Eigenschaft und setzen Sie es dann auf null, um die Aktualisierung auszulösen.
Zusätzlich Um bei Aktualisierungen nach einem Zeitstempel zu suchen, setzen Sie im Datenbankmodell (dbml) die Eigenschaft „Modified“ auf „UpdateCheck=Always“. Dadurch kann LINQ überprüfen, ob sich das Objekt seit dem letzten Abruf geändert hat.
Das obige ist der detaillierte Inhalt vonWie führe ich direkte SQL-Updates in LINQ durch, ohne SELECT-Anweisungen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!