[英]ASP.NET MVC4 return output from a stored procedure with Entity Framework
我试图从存储过程中获取简单的输出
ALTER PROCEDURE [dbo].[sp_getrandomnumber]
@randoms int output
AS
begin
set @randoms =12345
end
和我的MVC
public ActionResult Index()
{
var qry = db.sp_getrandomnumber(ref randoms);
......
return View();
}
}
但是当我编译时,我在var qry
部分得到了错误,提示如下
方法'sp_getrandomnumber'的重载没有接受1个参数
名称“ randoms”在当前上下文中不存在
提前谢谢
您的问题是您的SPROC输出是一个int。
请参见Scott Scott文章的以下引文。
“ LINQ to SQL将SPROC中的“ out”参数映射为参考参数(ref关键字),对于值类型,该参数将参数声明为可为空。
因此,您需要确保将randoms
声明为可为null的int。
将您的sp呼叫更改为
public ActionResult Index()
{
// @randoms int output from SPROC.
int? randoms = null;
// qry would contain a select if you had one in the SPROC.
var qry = db.sp_getrandomnumber(ref randoms);
// randoms is 12345
return View();
}
在这里找到另一个示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.