Ich schrieb gespeicherte Prozedur Hexe manchmal RAISERROR(). ich es durch das Entity Framework ausführen wie:Datenbank Fehlerbehandlung in Entity Framework
using(MyModelEntities conn = new MyModelEntities()) {
conn.MyStoredProcedure(input_p, output_p);
}
Stored Procedure:
create procedure dbo.MyStoredProcedure(
@input nvarchar(255),
@output int out
)
as
begin
...
RAISERROR (N'My Exception....', 10, 1);
...
end
go
Gibt es eine Möglichkeit, Informationen über Fehler zu bekommen?
BTW. Ich war zu schnell ... RAISERROR gibt keine Ausnahme zurück. Nur SQL Server-Errorrs ... Wie kann ich also meine benutzerdefinierten Fehler behandeln? – nosbor
Fangen Sie eine Instanz von SqlException in Ihrem Try/Catch-Block und verwenden seine Messages oder Errors-Eigenschaften ?: (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlexception.aspx) –