加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 带有SQLite错误的实体框架:从商店提供商的数据读取器读取

发布时间:2020-12-16 02:02:11 所属栏目:百科 来源:网络整理
导读:我正在使用SQLite 1.0.89和VS2013上的EF 5 .NET Framework 4.5在C#中的 WPF应用程序中. DB大小不大,程序使用的表包含最多1000行. 使用该程序我经常发现这个错误: An error occurred while reading from the store provider’s data reader. See the inner e
我正在使用SQLite 1.0.89和VS2013上的EF 5 .NET Framework 4.5在C#中的 WPF应用程序中.
DB大小不大,程序使用的表包含最多1000行.

使用该程序我经常发现这个错误:

An error occurred while reading from the store provider’s data reader.
See the inner exception for details.

内在的例外是:

{“library routine called out of sequencernnot an error”}

其他时间内部异常是:

Connection was closed,statement was terminated

我又发现了一次:

unknown errorrnno connection handle available

我找到这篇文章搜索:

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的生活方式配置为每个线程一个问题已经消失.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读