system.data列“ invariantname”被限制为唯一

Ser*_*pov 5 c# firebird entity-framework

我正在使用FirebirdSqlProvider 4.8.1.1和EntityFramework 6.0,但system.data column 'invariantname' is constrained to be unique在尝试使用EntityFramework时出现异常。我的app.config档案:

<entityFramework>
    <defaultConnectionFactory type="FirebirdSql.Data.EntityFramework6.FbConnectionFactory, EntityFramework.Firebird" />
    <providers>
      <provider invariantName="FirebirdSql.Data.FirebirdClient" type="FirebirdSql.Data.EntityFramework6.FbProviderServices, EntityFramework.Firebird" />
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
</entityFramework>
<system.data>
    <DbProviderFactories>
      <remove invariant="FirebirdSql.Data.FirebirdClient" />
      <add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient" />
    </DbProviderFactories>
</system.data>
Run Code Online (Sandbox Code Playgroud)

我的machine.confgi文件中只有一个DbProviderFactories实体。如何解决?

Joh*_*n M 5

对我而言,有一个重复的IBM DB2提供程序。

我不得不导航到:

C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG

然后打开machine.config文件并删除重复的行。

2行是:

  <add name="IBM DB2 for i .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for IBM i" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26"/>
Run Code Online (Sandbox Code Playgroud)