Я использую Entity Framework 4.
У меня есть хранимая процедура, которая просто обновляет одно значение в моей таблице, а именно идентификатор состояния приложения.Поэтому я создал хранимую процедуру, которая выглядит следующим образом:
ALTER PROCEDURE [dbo].[UpdateApplicationState]
(
@ApplicationID INT,
@ApplicationStateID INT
)
AS
BEGIN
UPDATE
[Application]
SET
ApplicationStateID = @ApplicationStateID
WHERE
ApplicationID = @ApplicationID;
END
Я создал функцию импорта с именем UpdateApplicationState.Сначала я установил тип возвращаемого значения на ноль, но потом он не был создан в контексте.Поэтому я изменил тип возвращаемого значения на int.Теперь это было создано в контексте.Разумно ли возвращать что-то из моей хранимой процедуры?
Вот мой метод в моем классе ApplicationRepository:
public void UpdateApplicationState(int applicationID, int applicationStateID)
{
var result = context.UpdateApplicationState(applicationID, applicationStateID);
}
Вот мой код вызова этого метода, на мой взгляд:
applicationRepository.UpdateApplicationState(id, newApplicationStateID);
Когда я его запускаю, я получаю следующую ошибку:
В считывателе данных, возвращенном поставщиком данных хранилища, недостаточно столбцов для запрошенного запроса.
Любая идея / совет о том, что я могу сделать, чтобы заставить это работать?
Спасибо