[英]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.