Ho alcuni LINQ to SQL che a volte getta unCome si può vedere lo sql che causa un errore su SubmitChanges in LINQ to SQL?
"Impossibile inserire la riga chiave duplicata nell'oggetto 'dbo.Table' con indice univoco 'IX_Indexname'.The istruzione è stata terminata."
C'è un modo in cui posso attivare la registrazione o almeno eseguire il debug nel datacontext per vedere quale SQL viene eseguito nel momento in cui viene generato l'errore?
Aggiornamento: Avrei detto che so sul metodo GetChangeSet()
, mi chiedevo se c'è una proprietà sul DataContext che mostra l'ultimo SQL che è stato eseguito, o una proprietà su l'eccezione SQL che mostra l'SQL .
La cosa strana di questo errore è che nei set di cambiamento, c'è solo un aggiornamento & l'unico campo che sta cambiando è un campo datetime che non è nell'indice che causa l'errore.
L'utilizzo di SQL Profiler sarebbe la soluzione preferibile in quanto non sarebbe necessario modificare il codice. –