Entity Framework и SCOPE_IDENTITY
У меня есть хранимая процедура, которая вставляет в таблицу, а затем выполняет эту строку
SET @returnVal = SCOPE_IDENTITY();
и после этого я попробовал оба:
SELECT @returnVal
а также
return @returnVal
Когда я выполняю хранимую процедуру из Microsoft SQL Server Management Studio, я получаю ожидаемый результат сSELECT @returnVal
- выбран столбец идентификации для вставленных данных.
Однако, когда я добавляю хранимую процедуру в мой ADO.Net Entity Data Model / класс EntityFramework / .edmx class и выполняю хранимую процедуру в своем коде C #, я получаю значение -1, возвращаемое в обязательном порядке.
Можно ли получить требуемое значение, новое значение идентификатора, возвращенное?
Я понимаю, что могу вручную связать хранимую процедуру с действием вставки таблицы в моей модели - но это не вариант. Слишком много процедур вставки, чтобы выполнять эту ручную работу каждый раз, когда я воссоздаю свой класс (ы) модели.