Entity Framework e SCOPE_IDENTITY

Eu tenho um procedimento armazenado que insere em uma tabela, em seguida, executa esta linha

SET @returnVal = SCOPE_IDENTITY();

e depois disso eu tentei os dois:

SELECT @returnVal

e

return @returnVal

Quando executo o procedimento armazenado do Microsoft SQL Server Management Studio, obtenho o resultado esperado comSELECT @returnVal - a coluna de identidade dos dados inseridos é selecionada.

No entanto, quando eu adiciono o procedimento armazenado ao meu ADO.Net Entity Data Model / classe EntityFramework / .edmx classe e executar o procedimento armazenado no meu código c #, recebo o valor -1 retornado sem falhas.

É possível obter o valor que desejo, o novo valor de identidade, retornado?

Eu percebo que eu poderia ligar manualmente o procedimento armazenado para a ação de inserção da tabela no meu modelo - mas isso não é uma opção. Existem muitos procedimentos de inserção para fazer este trabalho manual toda vez que eu regenerar minha (s) classe (s) de modelo.

questionAnswers(3)

yourAnswerToTheQuestion