Heim >Datenbank >MySQL-Tutorial >Wie führe ich direkte SQL-Updates in LINQ durch, ohne SELECT-Anweisungen zu verwenden?

Wie führe ich direkte SQL-Updates in LINQ durch, ohne SELECT-Anweisungen zu verwenden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-26 19:52:10475Durchsuche

How to Perform Direct SQL Updates in LINQ without Using SELECT Statements?

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:

  1. Erstellen Sie ein Objekt und legen Sie seine Schlüsseleigenschaften fest:

    Foo foo=new Foo { FooId=fooId };
  2. Fügen Sie das Objekt hinzu zum Kontext:

    context.Foos.Attach(foo);
  3. Objekteigenschaften nach Bedarf aktualisieren:

    foo.Name="test";
  4. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn