我有一个非常复杂的存储过程,当我运行时肯定会返回值
ExecuteReader
但是当我尝试加载数据时,它似乎消失了。
using (var dbContext = new SuperPortalDbContext())
{
// Create resulting data table
System.Data.DataTable result = new DataTable();
// Create command
var cmd = dbContext.Database.Connection.CreateCommand();
cmd.CommandType = commandType;
cmd.CommandText = sql;
cmd.CommandTimeout = 120;
// Add all parameters
foreach (SqlParameter parameter in parameters)
{
var p = cmd.CreateParameter();
p.ParameterName = parameter.ParameterName;
p.Value = parameter.Value;
cmd.Parameters.Add(p);
}
try
{
// Execute
dbContext.Database.Connection.Open();
System.Data.Common.DbDataReader reader = cmd.ExecuteReader();
result.Load(reader);
}
finally
{
// closes the connection
dbContext.Database.Connection.Close();
}
// returns the DataSet
return result;
}