我希望使用实体从存储过程中获取@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
TIA
答案 0 :(得分:1)
int返回值的概念是特定于SQL Server的。我不相信设计为与DB服务器无关的EF支持它。
所以你必须使用正确的输出参数,而不是int返回值。这应该不是问题。最糟糕的情况是,将proc包装在另一个proc中,该proc返回第一个的int返回值作为第二个的输出。
最后,我希望这只是一个例子,因为你的demo proc引入了一个SQL注入漏洞。