0
我正在使用實體框架和控制器與異步方法。多個控制器可以使用不同的dbcontexts同時訪問同一個數據庫嗎?
當一個控制器通過異步方法數據庫播放時,服務器可能會收到來自其他客戶端的請求使用相同的數據庫發揮。
我知道dbcontext不是線程安全的。
爲什麼這裏沒有問題?
我正在使用實體框架和控制器與異步方法。多個控制器可以使用不同的dbcontexts同時訪問同一個數據庫嗎?
當一個控制器通過異步方法數據庫播放時,服務器可能會收到來自其他客戶端的請求使用相同的數據庫發揮。
我知道dbcontext不是線程安全的。
爲什麼這裏沒有問題?
我理解的DbContext不是線程安全的。
這意味着,相同DbContext
實例不應該從多個線程中使用。對於多個DbContext
來說,在不同線程上擊數據庫是完全正確的。
在這種情況下數據庫會發生什麼情況取決於數據庫的鎖定/併發設置,但這是另一個問題。
這取決於您連接到的數據庫的類型。有些用戶鎖定以防止多個用戶同時訪問數據庫時發生爭用。 SQL Server有鎖,但Jet Engine或ACE驅動程序(由access和excel使用)沒有鎖來防止爭用。 – jdweng