小编Ese*_*gie的帖子

无法从“System.Data.SqlClient.SqlConnection”转换为“Microsoft.SqlServer.Management.Common.IRenewableToken”

我目前正在使用各种方法创建 SQLWorker 类,这些方法作为更广泛框架的一部分执行各种 sql 命令。我有一个用于执行 sql 脚本的方法。如下:

public object ExecuteScript(string sql, ExecutionType executionType = ExecutionType.NonQuery,
        int statementTimeout = 1800)
    {

        using (var connection = new SqlConnection(ConnectionString))
        {
            connection.InfoMessage += (sender, args) =>
                _infoMessageText.AppendLine(args.Message);

            var server = new Server(new ServerConnection(connection));
            server.ConnectionContext.StatementTimeout = statementTimeout;
            switch (executionType)
            {
                case ExecutionType.NonQuery:
                    return server.ConnectionContext.ExecuteNonQuery(sql);
                case ExecutionType.Scalar:
                    return server.ConnectionContext.ExecuteScalar(sql);
                case ExecutionType.Reader:
                    return server.ConnectionContext.ExecuteReader(sql);
            }
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

我当前收到错误:参数 1:无法从“System.Data.SqlClient.SqlConnection”转换为“Microsoft.SqlServer.Management.Common.IRenewableToken”

该特定行是

 var server = new Server(new ServerConnection(connection));
Run Code Online (Sandbox Code Playgroud)

ServerConnection 类似乎需要 IRenewableToken 参数,但它具有接受 SqlConnection 参数的构造函数。

我不确定我错过了什么我相信我有正确的 NugetPackages 并有以下 …

.net c# nuget-package

1
推荐指数
1
解决办法
4042
查看次数

标签 统计

.net ×1

c# ×1

nuget-package ×1