Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Matthieu MEZIL

I love .Net

Abonnements

Actualités

Locations of visitors to this page English blog

ApplyPropertyChanges

J'ai pu me rendre compte que peu de personne savent vraiment utiliser la méthode ApplyPropertyChanges de la classe ObjectContext.

Je vais donc rappeler quelques points.

ApplyPropertyChanges s'utilise dans le cas où vous auriez une entité détachée de son contexte et que vous voudriez sauvegarder les modifications apportées sur celle-ci.

Deux cas de figures s'offrent alors à vous.

  • Vous êtes en mode optimiste. Vous récupérez depuis la base l'entité ayant le même EntityKey (via un TryGetObjectByKey par exemple), pour que celle-ci soit chargée dans le contexte, puis vous appelez le ApplyPropertyChanges avec l'entité modifiée.
  • Vous n'êtes pas en mode optimiste. Rappelons que la gestion du mode optimiste ou non se fait par propriété. Il faut pour cela passer les propriétés à vérifier avant de faire un SaveChanges à ConcurrencyMode = fixed dans votre EDM. Dans ce cas, il faut garder une copie de l'entité originale, attacher cette copie au contexte puis appeler le ApplyPropertyChanges.

Dans ce dernier cas, mon EntityCloner (même simple), peut s'avérer très pratique.

Autre point très important, la méthode ApplyPropertyChanges ne prend pas en compte les éventuels modifications sur les relations.

Dès que j'aurais un peu de temps, je vais essayer, dans la même idée que mon CloneWithGraph de faire un ApplyPropertyChangesWithGraph.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Publié mardi 3 juin 2008 08:16 par Matthieu MEZIL

Classé sous : , , ,

Commentaires

# re: ApplyPropertyChanges @ mardi 3 juin 2008 16:35

En mode optimiste, vous pouvez aussi utiliser la technique énoncée par Michael Pizzo ici.

Matthieu MEZIL

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Silverlight] En attendant Silverlight 2 RTW par Blog Technique d'Audrey PETIT le 10-11-2008, 21:55

- Le nouveau Gojira, c’est pour lundi… par CoqBlog le 10-11-2008, 01:18

- SharePoint : nouvel article sur la mise en place des Scopes dans MOSS Searchs par Blog Technique de Romelard Fabrice le 10-10-2008, 17:52

- Hello CS par Le Blog de julz le 10-10-2008, 12:26

- MSDN/TechNet/Microsoft Days Tour 2008 à Lille les 13 et 14 Octobre ! par RedoBlog - The .NET Gentleman !!! le 10-10-2008, 09:35

- MVC Pratique #07 - Un projet concret et le transfert des objets avec les ModelBinders par #Rui le 10-09-2008, 23:39

- SQL Server 2008 : Certifié - TS Admin (70-432) par SQL Server vu par Christian Robert le 10-09-2008, 10:58

- [WPF] Comment changer la couleur utilisée pour sélectionner les éléments d’un ItemsControl ? par Thomas Lebrun le 10-09-2008, 10:49

- Hello World! par Hamid's Place le 10-08-2008, 23:38

- SQL Profiler - Configuration pour un développeur - tracer les requêtes SQL de votre application par Atteint de JavaScriptite Aiguë [Cyril Durand] le 10-08-2008, 15:52