Получить @Return_Value из хранимой процедуры, используя Entity - PullRequest
0 голосов
/ 09 марта 2010

Я хочу получить @Return_Value из хранимой процедуры, используя сущность.

Допустим, хранимая процедура:

CREATE PROCEDURE GetEmployes( @whereSql nvarchar(512) )
AS
BEGIN
    set @tsql = 'select * from Employes where '  + @whereSql
    exec(@tsql)
    return 5
END

Импорт объекта -

ObjectResult<Employe> GetEmployes(...)

Это то, что мне нужно.

int return_value;
var result = db.GetEmpleys("name = .. AND ...", out return_value);
if (return_value == 5)
     // do something on this exit code
List<Employe> result.ToList<Employe>() ;

Я использую Visual Studio 2008

ТИА

1 Ответ

1 голос
/ 09 марта 2010

Понятие возвращаемого значения int зависит от SQL Server. Я не верю, что EF, который разработан, чтобы быть независимым от DB-сервера, поддерживает это.

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

Наконец, я надеюсь, что это всего лишь пример, так как ваш демонстрационный процесс представляет уязвимость SQL-инъекций.

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