Verwenden von Entity Framework zum Aktualisieren eines einzelnen Felds
In diesem Artikel wird beschrieben, wie Sie ein bestimmtes Feld (Passwort) in der Users
-Tabelle mithilfe von Entity Framework aktualisieren. Hier ist eine verbesserte Version der von Ladislav bereitgestellten Methode:
Entitätsobjekt erstellen:
Erstellen Sie eine Instanz der Klasse User
und legen Sie deren Eigenschaften Id
und Password
auf die Werte fest, die Sie aktualisieren möchten.
DbContext öffnen:
Verwenden Sie den Block using
, um eine Instanz der Kontextklasse MyEfContextName
zu erstellen und sicherzustellen, dass Ressourcen korrekt freigegeben werden.
Zusätzliche Entitäten:
Rufen Sie die Users
-Methode des Attach
DbSet auf und übergeben Sie das User
-Objekt, das Sie in Schritt 1 erstellt haben. Dadurch wird die Entität zum Änderungstracker des Kontexts hinzugefügt, auch wenn sie ursprünglich nicht abgefragt wurde.
Attribute ändern:
Verwenden Sie die Methoden Entry
und Property
, um auf das Attribut Password
zuzugreifen und dessen IsModified
-Attribut auf true
festzulegen. Dadurch wird EF mitgeteilt, dass sich der Wert geändert hat und aktualisiert werden muss.
Änderungen speichern:
Rufen Sie die Methode SaveChanges
für den Kontext auf, um Änderungen an der Datenbank beizubehalten.
Hier ist der aktualisierte Code:
<code class="language-csharp">public void ChangePassword(int userId, string password) { var user = new User { Id = userId, Password = password }; using (var db = new MyEfContextName()) { db.Users.Attach(user); db.Entry(user).Property(x => x.Password).IsModified = true; db.SaveChanges(); } }</code>
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich ein einzelnes Feld (Passwort) im Entity Framework?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!