Tengo un poco de LINQ to SQL que a veces lanza un¿Cómo puede ver el sql que causa un error en SubmitChanges en LINQ to SQL?
"No se puede insertar una fila de clave duplicada en el objeto 'dbo.Table' con índice único 'IX_Indexname'.The instrucción se ha terminado."
¿Hay alguna manera de activar el registro o al menos depurar en el contexto de datos para ver qué sql se está ejecutando en el momento en que se produce el error?
Actualización: debería haber mencionado que sé sobre el método GetChangeSet()
, me preguntaba si hay una propiedad en la DataContext que muestra la última SQL que se ejecutó, o una propiedad en la excepción de SQL que muestra el SQL .
Lo curioso de este error es que en los conjuntos de cambios, solo hay una actualización &, el único campo que cambia es un campo de fecha y hora que no está en el índice que causa el error.
El uso del generador de perfiles SQL sería la solución preferible, ya que no tendría que cambiar el código en absoluto. –