"неподдерживаемый параметр" при отображении хранимой процедуры? (EF) - PullRequest
2 голосов
/ 11 декабря 2011

У меня есть хранимая процедура, по которой я возвращаю новый идентификационный номер. Код выглядит так:

ALTER PROCEDURE [dbo]. [Save Contact]

@FirstName varchar (50),
@LastName varchar (50),
@Email varchar (50)
AS
BEGIN
- SET NOCOUNT ON added to Prevent extra result sets from
- Interfering with SELECT statements.
SET NOCOUNT ON;

INSERT INTO Contacts (FirstName, LastName, Email)
VALUES (@FirstName, @LastName, @Email)

SELECT SCOPE_IDENTITY() as newid
END

Когда я пытаюсь отобразить свои хранимые процедуры, я получаю следующую ошибку:

Ошибка 1 Ошибка 2047: спецификатор привязки функции отображения - функция demoModel.Store.SaveContact с неподдерживаемым параметром: id Выходные параметры могут быть отображены только через свойство RowsAfferedParameter. Используйте привязки результатов для возврата значений из вызова функции.

enter image description here

Есть здесь кто-нибудь, кто может видеть, что я делаю неправильно?

Нужно больше кода, дайте мне знать.

1 Ответ

0 голосов
/ 12 декабря 2011

С SQL, как указано выше, удалите id в качестве параметра для оператора вставки. Это не нужно. Чтобы получить SCOPE_IDENTITY(), вам нужно всего лишь отобразить newid в привязках столбцов результатов.

Также убедитесь, что имя столбца в привязках столбцов результата совпадает с регистром, который возвращает хранимая процедура.

Источник: http://blogs.msdn.com/b/adonet/archive/2008/03/26/stored-procedure-mapping.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...