c# – 带有SQLite错误的实体框架:从商店提供商的数据读取器读取
我正在使用SQLite 1.0.89和VS2013上的EF 5 .NET Framework 4.5在C#中的
WPF应用程序中.
DB大小不大,程序使用的表包含最多1000行. 使用该程序我经常发现这个错误:
内在的例外是:
其他时间内部异常是:
我又发现了一次:
我找到这篇文章搜索: Parallel.Foreach loop creating multiple db connections throws connection errors? SQL Server CE database size issue 但没有人解决我的问题. 程序执行的查询不在循环内,但是当在UI上按下按钮时执行单个查询,但我注意到当我按下查询按钮更快的时间时,错误更频繁地发生(不仅是发髻). 其他的事情.当DB Context通过属性访问而不是方法示例时,错误更频繁地发生(但不仅仅是) public List<Product> ProductList { get { return DBContext.Products.ToList(); } } 解决方法
该问题是由使用相同DBContext查询数据库的多个线程引起的.
为每个线程使用不同的DBContext解决问题. 在我的例子中,我使用Castle Windsor将DBContext注入执行查询的类中.将DBContext的生活方式配置为每个线程一个问题已经消失. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |