我正在使用FirebirdSqlProvider 4.8.1.1和EntityFramework 6.0
当我尝试使用EntityFramework时,我得到异常system.data column 'invariantname' is constrained to be unique
。
我的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>
我的machine.confgi
文件中只有一个DbProviderFactories实体。
怎么解决?
答案 0 :(得分:5)
对我来说,有一个重复的IBM DB2提供程序。
我必须导航到:
C:\的Windows \ Microsoft.NET \框架\ V2.0.50727 \ CONFIG
然后打开machine.config文件并删除重复的行。
这两行是:
<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"/>