Entity Framework i SCOPE_IDENTITY
Mam procedurę składowaną, która wstawia do tabeli, a następnie wykonuje tę linię
SET @returnVal = SCOPE_IDENTITY();
a potem próbowałem obu:
SELECT @returnVal
i
return @returnVal
Gdy wykonuję procedurę przechowywaną z Microsoft SQL Server Management Studio, otrzymuję oczekiwany wynikSELECT @returnVal
- wybrana jest kolumna tożsamości wstawionych danych.
Jednak po dodaniu procedury składowanej do mojej klasy ADO.Net Entity Data Model / EntityFramework klasy / .edmx i wykonaniu procedury składowanej w moim kodzie C # otrzymuję wartość -1 zwróconą bez niepowodzenia.
Czy można odzyskać wartość, którą chcę, nową wartość tożsamości?
Zdaję sobie sprawę, że mogę ręcznie powiązać procedurę składowaną z akcją wstawiania tabeli w moim modelu - ale nie jest to opcja. Istnieje zbyt wiele procedur wstawiania, aby wykonać tę ręczną pracę za każdym razem, gdy regeneruję klasę modeli.