我无法从多个线程访问sqllite db。使用C#和EntityFramework对SQLite进行多线程访问
SqlLite输出“SQLite的错误(5):数据库已被锁定”频频
解决这个问题的情况下,说明here你正在使用NHibernate的,但我不知道如何应用上的EntityFramework该解决方案。
任何帮助?
编辑:
特别是我怎么“为了重复使用多个线程在同一连接管理会话范围”?
我无法从多个线程访问sqllite db。使用C#和EntityFramework对SQLite进行多线程访问
SqlLite输出“SQLite的错误(5):数据库已被锁定”频频
解决这个问题的情况下,说明here你正在使用NHibernate的,但我不知道如何应用上的EntityFramework该解决方案。
任何帮助?
编辑:
特别是我怎么“为了重复使用多个线程在同一连接管理会话范围”?
我结束了使用SQLCE 4.0里面竟然来管理多线程和并发访问完美
所有数据访问如果专门使用EF,只是把周围的某种“DB锁”的
// 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())
{
}
}
我有100个线程,我认为这会减慢是不是?无论如何,我要试一试 – sam 2014-09-25 06:58:57
你为什么使用那么多线程? – user743414 2014-12-10 11:31:07
你是否在线程之间共享上下文? – tia 2014-09-24 16:17:54
我试过,但是sqllite在这种情况下表现不好。文档说每个线程都应该使用自己的实例。 – sam 2014-09-25 06:55:56