我在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();