我编写了以下方法
public async Task<DataTable> ExecuteProcedureToDataTableAsync(string spName, object parameters, int? commandTimeout = null, bool userPrefix = false)
{
using (var connection = new SqlConnection(_ConnectionString))
{
string spNameWithPrefix = GetSpNameWithPrefix(spName, userPrefix);
var dt = new DataTable();
_Logger.Debug($"Executing Query: [{spNameWithPrefix}], with params:[{parameters.ToJsonString()}]");
dt.Load(await connection.ExecuteReaderAsync(spNameWithPrefix, parameters, commandTimeout: commandTimeout, commandType: CommandType.StoredProcedure));
_Logger.Debug($"Completed Query To DataTable: [{spNameWithPrefix}], result columnCount:[{dt.Columns.Count}], result row count:[{dt.Rows.Count}]");
return dt;
}
}并按如下方式调用:
using (var results = await ExecuteProcedureToDataTableAsync(StoredProcedureFullName, StoredProcedureParams, Timeout, userPrefix: false))
{
ExportReport(requestModel, results);
}我有个例外:
MultiExec不受ExecuteReader支持
spr不支持executeReader吗?
发布于 2018-09-19 17:42:41
ExecuteReader不支持多次执行。使用QueryMultiple代替。
https://stackoverflow.com/questions/52410794
复制相似问题