Entity Framework 5 : mettre à jour efficacement les enregistrements et modifier avec précision les attributs
Dans un environnement ASP.NET MVC3, Entity Framework 5 fournit plusieurs méthodes pour mettre à jour les enregistrements. Chaque approche a ses avantages et ses inconvénients, mais aucune ne répond pleinement aux objectifs consistant à spécifier simultanément les modifications de propriétés, à exclure les champs sensibles des vues et à minimiser les requêtes de base de données.
Discussion et évaluation de la méthode
Méthode 1 : Charger les enregistrements originaux et mettre à jour les attributs un par un
Méthode 2 : charger l'enregistrement d'origine et définir la valeur modifiée
Méthode 3 : Joindre les enregistrements mis à jour et définir EntityState sur Modifié
Solution : requête de base de données unique pour obtenir une mise à jour précise des attributs
Afin de prendre en compte la sélectivité des attributs, l'efficacité des requêtes de base de données et la sécurité des vues, la solution qui combine la méthode 1 et la méthode 3 est la plus adaptée. Utilisez les méthodes Attach() et SetState() pour mettre à jour les enregistrements avec une seule requête, en spécifiant les propriétés modifiées une par une.
db.Users.Attach(updatedUser); var entry = db.Entry(updatedUser); entry.Property(e => e.Email).IsModified = true; // 其他已更改的属性 db.SaveChanges();
Cette approche fournit un moyen concis de répondre aux exigences spécifiées. En définissant manuellement la propriété IsModified d'un champ spécifique, seules les propriétés mises à jour sont envoyées à la base de données, réduisant ainsi la surcharge des requêtes inutiles tout en protégeant les données sensibles et en garantissant une mise à jour efficace de la base de données.
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!