2011-08-21 8 views
5

Tengo el siguiente problema con WCF RIA Services: Tengo una tabla Cliente y una tabla Dirección. Un cliente puede tener 0 ... n direcciones. Hay un formulario para editar al cliente, con una cuadrícula de datos que muestra las direcciones. Agrega/edita una dirección en una ventana secundaria haciendo clic en Agregar/Editar. Ahora esta es la cuestión:Cambios de rechazo para entidades específicas

El problema es que el usuario siempre debe poder cancelar las ediciones. Este no es un problema, excepto : Si crear un nuevo cliente y agregar una dirección a ese cliente, a continuación, desea editar la dirección, pero quieren cancelar esa edición.

  • No se puede hacer RechazarCambios al contexto, ya que borrará la dirección con el cliente.
  • No puede usar contextos separados porque entonces no puede establecer la relación de clave foránea.

¿Cómo lo resolverían ustedes?

Respuesta

6

Entity implementa IRevertibleChangeTracking para admitir este escenario. Dado que se implementa de forma explícita, tendrás que lanzarlo. El siguiente código funcionará.

((IRevertibleChangeTracking)address).RejectChanges(); 
+0

pequeña falta de ortografía en el nombre de la interfaz (IRevertibleChangeTracking) http://msdn.microsoft.com/en-us/library/system .componentmodel.irevertiblechangetracking% 28v = VS.95% 29.aspx –

+0

Gracias. ¿Creerías que siempre me equivoco? :) –

+0

Muy útil, solo la información que necesitaba. Gracias. – peter

0

Está funcionando en el caso de la edición, pero no en caso de nueva ..

+0

En caso de nuevo, no debes volver a separar la entidad. – LueTm

Cuestiones relacionadas