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