Sobes.tech
Junior — Middle

Comment Entity Framework détermine-t-il qu'une propriété spécifique d'un objet a été modifiée?

sobes.tech IA

Réponse de l'IA

Entity Framework suit les modifications des propriétés des objets à l'aide d'un mécanisme appelé suivi des modifications (Change Tracking). Lorsqu'un objet est chargé depuis la base de données, EF en conserve l'état initial. Lors de l'appel de la méthode SaveChanges(), EF compare l'état actuel de l'objet avec l'état initial enregistré. Si la valeur d'une propriété a changé, EF la marque comme modifiée et génère la requête SQL correspondante pour la mise à jour.

Pour les classes qui implémentent l'interface INotifyPropertyChanged, EF peut suivre les modifications dès qu'elles se produisent. Sinon, la comparaison a lieu lors de la sauvegarde.

Exemple:

var user = context.Users.Find(1);
user.Name = "Nouveau nom"; // EF marquera la propriété Name comme modifiée
context.SaveChanges(); // ne mettra à jour que les champs modifiés dans la base