J'essaie de tester le détachement d'une entité d'un contexte, en y apportant des modifications, en créant un nouveau contexte, en l'attachant et en conservant les modifications effectuées entre les sessions. Je ne semble pas être en mesure de le faire fonctionner correctement. J'ai essayé d'appeler DetectChanges et ApplyCurrentValues sans succès. Voici ce que j'ai jusqu'ici. Ce ne sont pas des POCO et je ne veux pas les traiter comme tels. Je veux juste pouvoir détacher une entité, y apporter des modifications et la rattacher. Merci!EF4 - Les modifications ne sont pas capturées entre les sessions
OCConsumer consumer; using (var ctx1 = new CMSStagingContext()) { consumer = (from c in ctx1.OCConsumers select c).FirstOrDefault(); Console.WriteLine("Retrieved {0} - {1} {2}", consumer.CustomerId, consumer.FirstName, consumer.LastName); ctx1.Detach(consumer); } consumer.BirthDate = "10/22/1981"; using (var ctx2 = new CMSStagingContext()) { ctx2.Attach(consumer); ctx2.ApplyCurrentValues("OCConsumers", consumer); ctx2.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave | System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave); }
J'avais l'impression que DetectChanges dans EF4 était censé faire exactement cela? –
Il détecte les changements * vs. l'ancienne version de l'objet dans le contexte. * Qui, dans votre cas, est une seule et même chose. Voir: http://msdn.microsoft.com/en-us/library/dd456854(VS.100).aspx –