2

我无法从多个线程访问sqllite db。使用C#和EntityFramework对SQLite进行多线程访问

SqlLite输出“SQLite的错误(5):数据库已被锁定”频频

解决这个问题的情况下,说明here你正在使用NHibernate的,但我不知道如何应用上的EntityFramework该解决方案。

任何帮助?

编辑:

特别是我怎么“为了重复使用多个线程在同一连接管理会话范围”?

+0

你是否在线程之间共享上下文? – tia 2014-09-24 16:17:54

+0

我试过,但是sqllite在这种情况下表现不好。文档说每个线程都应该使用自己的实例。 – sam 2014-09-25 06:55:56

回答

0

我结束了使用SQLCE 4.0里面竟然来管理多线程和并发访问完美

所有数据访问
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()) 
    { 
    } 
} 
+0

我有100个线程,我认为这会减慢是不是?无论如何,我要试一试 – sam 2014-09-25 06:58:57

+0

你为什么使用那么多线程? – user743414 2014-12-10 11:31:07