esto podría ser una pregunta trivial pero: dado que ADO.NET Entity Framework sigue automáticamente los cambios (en las entidades generadas) y guarda los valores originales, ¿cómo puedo deshacer los cambios realizados en los objetos de entidad?Deshacer cambios en las entidades del marco de entidades
Tengo un formulario que permite al usuario editar un conjunto de entidades "Cliente" en una vista de cuadrícula.
Ahora tengo dos botones "Aceptar" y "Revertir": si se hace clic en "Aceptar", llamo al Context.SaveChanges()
y los objetos modificados se vuelven a escribir en la base de datos. Si se hace clic en "Revertir", me gustaría que todos los objetos obtengan sus valores de propiedad originales. ¿Cuál sería el código para eso?
Gracias
Gracias. Esto me parece ser un candidato para una solución genérica, aunque ... – MartinStettner
@LadislavMrnka Seguramente 'Context.Refresh()' es un contraejemplo a su afirmación de que no hay operación de reversión? El uso de 'Refresh()' parece ser un mejor enfoque (es decir, más orientado a entidades específicas) que eliminar el contexto y perder todos los cambios rastreados. – Rob
@robjb: No. Refresh puede actualizar solo una sola entidad o conjunto de entidades que defina manualmente, pero la funcionalidad de actualización solo afecta a las propiedades simples (no a las relaciones). Tampoco resuelve el problema con entidades añadidas o eliminadas. –