ExecuteReader在运行SPR时不支持获取MultiExec [英] Getting MultiExec is not supported by ExecuteReader when running an SPR

查看:0
本文介绍了ExecuteReader在运行SPR时不支持获取MultiExec的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我编写了以下方法

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);
}

我得到了一个异常:

ExecuteReader不支持MultiExec

不支持使用spr执行teReader吗?

推荐答案

不支持多次执行。请改用QueryMultiple

这篇关于ExecuteReader在运行SPR时不支持获取MultiExec的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆