前言

在日常的开发工作中,常常会要在程序中调用预编译好的存储过程,那如果在ASP.NET的开发环境中,使用EF调用输出的存储过程呢?

具体实现

实现代码如下:

using (var e = new 实体())
 {
     SqlParameter[] para = new SqlParameter[2];
     para[0] = new SqlParameter("@paraIn1", paravalue);
     para[1] = new SqlParameter("@paraOut1", "") 
    {  
        Direction = ParameterDirection.Output,  //声明参数是输出参数
        SqlDbType = SqlDbType.VarChar,  //指定类型
        Size = 200  //指定参数类型大小
    };

     var result = e.Database.SqlQuery<存储过程_Result>("exec 存储过程 @paraIn1,@paraOut1 output", para).ToList();
     paraOutvalue = para[1].Value.ToString();//获取存储过程的值
     return result;
}