繁体   English   中英

使用C#和EntityFramework对SQLite的多线程访问

[英]Multi-threaded access to SQLite using C# and EntityFramework

我无法从多个线程访问sqllite db。

SqlLite经常输出“ SQLite错误(5):数据库已锁定”

这个问题的解决方案进行了说明这里如果你正在使用NHibernate的,但我不知道如何应用上的EntityFramework该解决方案。

有什么帮助吗?

编辑:

特别是如何“管理会话范围,以便在多个线程之间重用同一连接”?

如果您仅使用EF,只需将所有数据访问置于某种“数据库锁”周围

// Prevent concurrent access to database, MyDatabase.Lock is a public static object that I use for locking all data access
lock (MyDatabase.Lock)
{
    using (var context = new DbEntities())
    {
    }
}

我最终使用了SQLCE 4.0,事实证明它可以完美地管理多线程和并发访问

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM