【发布时间】:2019-01-31 04:07:15
【问题描述】:
我们有一个类库来处理所有与 DB 相关的操作。 (SQLite 和 MSSQL)我试图摆脱可执行项目中的所有提供程序和工厂 (with this approach),因为类库已经在 App.config 中包含 DB-Configuration。
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite" />
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
<remove invariant="System.Data.SQLite.EF6" />
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
</DbProviderFactories>
</system.data>
然而,虽然 MSSQL 目前运行良好,但 SQLite 会引发异常:
如果我将提供程序添加到可执行文件中的 App.config,它确实有效。但这是我试图避免的。这个问题有解决办法吗?
【问题讨论】:
标签: c# entity-framework sqlite class-library