Utiliser Entity Framework pour mettre à jour un seul champ
Cet article décrit comment mettre à jour un champ spécifique (mot de passe) dans la table Users
à l'aide d'Entity Framework. Voici une version améliorée de la méthode fournie par Ladislav :
Créer un objet entité :
Créez une instance de la classe User
et définissez ses propriétés Id
et Password
sur les valeurs que vous souhaitez mettre à jour.
Ouvrir DbContext :
Utilisez le bloc using
pour créer une instance de la classe de contexte MyEfContextName
, en vous assurant qu'elle libère correctement les ressources.
Entités supplémentaires :
Appelez la méthode Users
du Attach
DbSet, en transmettant l'objet User
que vous avez créé à l'étape 1. Cela ajoutera l'entité au suivi des modifications du contexte, même si elle n'a pas été initialement interrogée.
Modifier les attributs :
Utilisez les méthodes Entry
et Property
pour accéder à l'attribut Password
et définissez son attribut IsModified
sur true
. Cela indique à EF que la valeur a changé et doit être mise à jour.
Enregistrer les modifications :
Appelez la méthode SaveChanges
sur le contexte pour conserver les modifications apportées à la base de données.
Voici le code mis à jour :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!