E 'possibile recuperare i codici di errore SQL da operazioni sui dati Entity Framework senza successo?

StackOverflow https://stackoverflow.com/questions/8340711

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.

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top