EF调用存储过程后返回DataSet数据
前言
在WEBAPI
如何使用EF
调用存储过程后,返回DataSet
数据;
代码
public DataSet GetData()
{
using (var e = new Entities())
{
var command = e.Database.Connection.CreateCommand(); //1.创建Command
command.CommandType = CommandType.StoredProcedure; //2.声明CommandType类型:存储过程
command.CommandText = "usp_name"; //3.存储过程名称
command.Parameters.AddRange(new SqlParameter[] { //4.Command.Parameters
new SqlParameter("year",DateTime.Now.Year), //5.输入参数
new SqlParameter("outputTime", DBNull.Value) //6.输出参数
{
Direction = ParameterDirection.Output, //标志输出参数
SqlDbType = SqlDbType.VarChar, //参数类型
Size = 200 //类型大小
},
});
using (var adapter = new SqlDataAdapter(command as SqlCommand))//7.引用SqlDataAdapter
{
DataSet dataSet = new DataSet(); //8.声明DataSet
adapter.Fill(dataSet); //9.把DataSet填充到adapter
outputTime = command.Parameters[1].Value.ToString(); //10.输出参数
return dataSet; //11.返回dataset类型
}
}
}