¿Alguien me puede decir si/cómo puede validar los cambios en un contexto de datos en Linq2Sql antes de llamando a SubmitChanges(). La situación que tengo es que creo un contexto, realizo múltiples operaciones y agrego muchas inserciones junto con otras tareas de procesamiento y luego retrotrajo si el envío falla.Validar Linq2Sql antes de SubmitChanges()
Lo que prefiero hacer es realizar una especie de llamada "Validar()" después de realizar ciertas tareas para poder manejarlo antes de enviar el trabajo completo.
no se dio cuenta del .GetChangeSet() método antes! ¡Gracias por eso! +1 – StevenMcD
El enfoque real al que terminé fue crear una clase parcial con el nombre de la tabla e implementar el código de validación en OnFooChanging() para los campos que quería validar. Funciona para lanzar excepciones inmediatamente cuando se establece el valor en lugar de en SubmitChanges(). No usé ChangeSet, pero me indicó la dirección correcta y es útil saberlo de todos modos. –
@Nick - Me siento inútil diciéndote esto porque no recuerdo el blog donde lo leí, pero aparentemente es una buena idea mantener la validación separada de los manejadores "OnChange", ya que permite complejos escenarios de validación, donde la validación de una propiedad depende del valor de otras, etc. – Mark