2009-09-04 4 views
11

I J'ai une base de données linq-to-sql dans laquelle je veux enregistrer certaines des modifications apportées à une entité. À l'heure actuelle, j'obtiens les entités mises à jour en lisant la propriété DataContext.GetChangeSet(). Updates, mais cela ne me fournit pas les champs de l'entité qui ont été modifiés.Comment déterminer quels champs ont été modifiés dans un objet Linq-To-SQL

Existe-t-il un moyen de savoir quels champs ont été modifiés dans une entité mise à jour?

Merci

Répondre

18

Le DataTable a une GetModifiedMembers méthode qui renvoie une liste des membres qui ont changé pour une instance d'entité spécifiée.

DataClasses1DataContext context; 
Class1 instance = context.GetChangeSet().Updates.OfType<Class1>().First(); 
context.Class1s.GetModifiedMembers(instance); 
Questions connexes