Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich ein einzelnes Feld im Entity Framework?

Wie aktualisiere ich ein einzelnes Feld im Entity Framework?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-19 07:14:12590Durchsuche

How to Update a Single Field in Entity Framework?

Entity Framework-Einzelfeldaktualisierungsmethode

Frage:

Angenommen, Sie haben eine Datenbanktabelle mit mehreren Spalten und möchten den Wert einer bestimmten Spalte im Datensatz aktualisieren.

Tabelle:

Benutzer

列名
UserId
UserName
Password
EmailAddress

Code:

<code class="language-csharp">public void ChangePassword(int userId, string password)
{
    // 更新密码的代码...
}</code>

Antwort:

Um nur das Feld UserIdPasswort für einen bestimmten -Benutzer zu aktualisieren, können Sie die Methoden und von AttachDbContextProperty verwenden.

Für Versionen vor EF Core 7.0:

<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>

Für EF Core 7.0 und höher:

<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.SetAttached(user);
        db.Entry(user).Property(x => x.Password).IsModified = true;
        db.SaveChanges();
    }
}</code>

Hinweis: In EF Core 7.0 und höher wurde die Methode Attach in SetAttached umbenannt. Der obige Code zeigt zwei Versionen von Implementierungsmethoden. Bitte wählen Sie den entsprechenden Code entsprechend Ihrer EF Core-Version aus.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich ein einzelnes Feld im Entity Framework?. 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