Entity Framework und SCOPE_IDENTITY

Ich habe eine gespeicherte Prozedur, die in eine Tabelle einfügt und dann diese Zeile ausführt

SET @returnVal = SCOPE_IDENTITY();

und danach habe ich beides ausprobiert:

SELECT @returnVal

und

return @returnVal

Wenn ich die gespeicherte Prozedur in Microsoft SQL Server Management Studio ausführe, erhalte ich das erwartete Ergebnis mitSELECT @returnVal - Die Identitätsspalte für die eingefügten Daten ist ausgewählt.

Wenn ich jedoch die gespeicherte Prozedur zu meiner ADO.Net-Entity-Datenmodell- / EntityFramework-Klasse / .edmx-Klasse hinzufüge und die gespeicherte Prozedur in meinem C # -Code ausführe, wird der Wert -1 ohne Fehler zurückgegeben.

Ist es möglich, den gewünschten Wert, den neuen Identitätswert, zurückzugeben?

Mir ist klar, dass ich die gespeicherte Prozedur manuell an die Einfügeaktion der Tabelle in meinem Modell binden kann - dies ist jedoch keine Option. Es gibt viel zu viele Einfügeprozeduren, um diese manuelle Arbeit jedes Mal durchzuführen, wenn ich meine Modellklasse (n) neu generiere.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage