我无法从多个线程访问sqllite数据库。
SqlLite输出“SQLite错误(5):数据库被频繁锁定
如果您使用的是NHibernate,我会解释此问题的解决方案here,但我不知道如何在EntityFramework上应用该解决方案。
任何帮助?
修改
特别是我如何管理会话范围,以便在多个线程中重用相同的连接" ?
答案 0 :(得分:0)
如果您只使用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())
{
}
}
答案 1 :(得分:0)
我最终使用了SQLCE 4.0,结果完全可以管理多线程和并发访问