我正在使用我的应用程序Entity Framework和System.Data.SQLite在.NET 4.5上使用WPF和C#在我的机器上运行良好,但在测试机器上,当我通过EntityFramework访问sqlite数据库时收到此错误:
"DbProviderFactories"部分每个配置文件只能出现一次.
我发现错误是在测试机器中,在machine.config中:
<system.data>
<DbProviderFactories>
<add name="IBM DB2 for i5/OS .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for i5/OS" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26"/>
<add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
<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" />
</DbProviderFactories>
<!-- This is the line to remove - empty element …Run Code Online (Sandbox Code Playgroud) 我正在使用SQLite 1.0.89和VS2013上的EF 5 .NET Framework 4.5在C#中的WPF应用程序中.DB大小不大,程序使用的表包含最多1000行.
使用该程序我经常发现这个错误:
从商店提供商的数据阅读器读取时发生错误.有关详细信息,请参阅内部异常
内在的例外是:
{"库例程不按顺序调用\ r \n \n错误"}
其他时间内部异常是:
连接已关闭,声明已终止
我又发现了一次:
未知错误\ r \nno连接句柄可用
我找到这篇文章搜索:
Parallel.Foreach循环创建多个数据库连接会引发连接错误?
但没有人解决我的问题.
程序执行的查询不在循环内,但是当在UI上按下按钮时执行单个查询但我注意到当我更快地按下查询按钮时错误更频繁地发生(不仅是发髻).
其他的事情.当DB Context通过属性访问而不是方法示例时,错误更频繁地发生(但不仅仅是)
public List<Product> ProductList
{
get {
return DBContext.Products.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)