E 'possibile recuperare i codici di errore SQL da operazioni sui dati Entity Framework senza successo?
-
26-10-2019 - |
Domanda
SQL codici restituisce preceduti da un segno meno (-) indica che l'esecuzione istruzione SQL ha avuto successo. (Tutte SQL definiti codici di errore sono numeri interi negativi).
In applicazioni precedenti, ho usato uno strato di dati di SQL basato stored procedure che verifica la presenza di questi codici di errore e li traduce in messaggi di errore di facile uso che vengono poi visualizzati per l'utente finale.
Ho testato la validità di sostituire il vecchio sistema basato stored procedure per un sistema basato su Entity Framework. L'unico problema che ho incontrato finora è che non riesco a trovare un modo per recuperare i codici di errore SQL che spiegano eventuali anomalie di funzionamento relativi database. Dopo una lunga ricerca online e non trovando nulla, ho pensato che qualcuno qui ha di conoscere la risposta.
Quindi la mia domanda semplice è ... c'è un modo che io possa accedere ai codici di errore SQL da ogni esecuzione istruzione SQL quando si utilizza l'Entity Framework?
Molte grazie in anticipo.
Soluzione
Si si può prendere il SqlException
wich ha dettagliato le informazioni sulla tua eccezione.
try
{
// do your changes
myDbContext.SaveChanges();
}
catch (SqlException ex)
{
// ex.LineNumber
// ex.ErrorCode
foreach (SqlError error in ex.Errors)
{
// error.LineNumber
}
}
Maggiori informazioni su SqlException Classe
Spero che questo aiuti