C# 打开NpgsqlConnection时AspNetCore 2.1出错

C# 打开NpgsqlConnection时AspNetCore 2.1出错,c#,.net,asp.net-core,ado.net,npgsql,C#,.net,Asp.net Core,Ado.net,Npgsql,我在AspNet Core 2.1中打开NpgsqlConnection时遇到问题。它在AspNet Core 1.1中正常工作。以下是AspNetCore 2.1中引发的错误 42501:设置受限参数“事务隔离”的权限被拒绝 下面是代码片段 using (IDbConnection dbConnection = new NpgsqlConnection(this._configuration["SpringData:ConnectionString"])) {

我在AspNet Core 2.1中打开NpgsqlConnection时遇到问题。它在AspNet Core 1.1中正常工作。以下是AspNetCore 2.1中引发的错误

42501:设置受限参数“事务隔离”的权限被拒绝

下面是代码片段

    using (IDbConnection dbConnection = new NpgsqlConnection(this._configuration["SpringData:ConnectionString"]))
        {
            try
            {   
                ///Error occurs while opening the connection
                dbConnection.Open();
            }
            catch
            {
            }
        }
不确定如何进一步调试和解决它


p.S.问题在从AspNetCore1.1迁移到aspnetcore2.1后开始出现

问题在降级到Nuget package Npgsql.3.2.7后得到解决。早些时候,它使用的是NPGSQL4.0.3,这似乎有一些问题

为什么您认为Npgsql存在问题?该错误可能意味着缺少权限,或者目标数据库是较旧的Postgres版本(脑海中会出现红移)。可能4.0.3中使用的默认设置之一与旧Postgre冲突version@Panagiotis在Kanavos中,相同的代码可以在Npgsql.3.2.7中使用相同的数据库(使用相同的用户ID),而不能在Npgsql 4.0.3中使用。起初我还认为这是许可问题。错误消息具有误导性。我降低了软件包的等级,代码没有任何变化,代码中没有任何关于软件包的内容。这是一个Postgres错误,说你的帐户没有权限。你可以通过Amazon Redshift获得,它与旧版本的Postgres兼容。Amazon RDS Postgres不允许您修改许多设置。目标数据库版本是什么?您正在尝试连接到Redshift或RDS Postgres吗?Npgsql在4.0.3中开始设置事务隔离模式,作为类型加载的一部分(请参阅)。然而,我不知道任何情况下这是不可能的,你能提供更多关于你的数据库的信息吗(PostgreSQL版本,Redshift或什么)?@Shay Rojansky,我使用的数据库是基于Postgres的(它不是Redshift或RDS Postgres。它是基于Postgres的专有数据库,但与Ngpsql一起工作)。不确定以下信息是否有用选择版本();数据库版本1.2.5-7571显示服务器版本;9.5.2