加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 具有输出参数的ExecuteSqlCommand

发布时间:2020-12-16 00:30:40 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET MVC3应用程序中使用Entity Framework,我试图使用以下代码: var token = "";this.Database.ExecuteSqlCommand("exec dbo.MyUsp",new SqlParameter("token",token)); 我的存储过程签名是: CREATE PROCEDURE MyUSP(@token varchar(10) OUT)(...)
我在ASP.NET MVC3应用程序中使用Entity Framework,我试图使用以下代码:
var token = "";
this.Database.ExecuteSqlCommand("exec dbo.MyUsp",new SqlParameter("token",token));

我的存储过程签名是:

CREATE PROCEDURE MyUSP(@token varchar(10) OUT)
(...)

当我使用这个代码时,我收到一个错误,指出参数“@token”是预期但不提供的。

如何告诉EF,令牌参数是用于输出?

解决方法

我最终用这个来使它工作,但我相信有一个更优化的方法:
var p = new SqlParameter
{
    ParameterName = "token",DbType = System.Data.DbType.String,Size = 100,Direction = System.Data.ParameterDirection.Output
};
var resp = this.Database.SqlQuery<String>("exec dbo.usp_GetRequestToken @token",p);

return resp.First();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读