我有一個Web API使用實體框架DBContext來執行CRUD操作。我的問題如下:如何最好地利用Web API應用程序的DBContext
最初,我使用了我的DBContext的一個靜態實例。但是,使用這種格式時,當我再次查詢數據集時,數據庫表的任何更改都不會顯示;數據是陳舊的。
作爲一個臨時修復,在我所有公共類函數的開始,我創建一個新的DBContext對象並調用該對象以從數據庫中獲取數據。由於許多原因,這不是最好的主意。但是,當我使用這種技術時,數據不再陳舊。
如何正確使用DBContext以便多個用戶始終能夠從請求中看到當前數據庫數據?我應該把DBContext作爲一個字段放在我的類中,並在類的構造函數中實例化它?在這種情況下,每個類應該有自己的DBContext對象嗎?
是否有適當使用DBContext的最佳做法?我擔心陳舊的數據和推送給我的用戶的結果不準確。
當您對數據庫進行更改時,是在相同的靜態DbContext中還是以其他方式執行此操作? –
我通過調用Web API來檢查表中的值。 Web API返回數據。例如,該值可能是451.然後,我使用SSMS直接在表中輸入一個新值,以更改數據庫。當我再次運行我的API調用時,在將數據輸入數據庫後,API將返回舊值而不是剛輸入的新值。這發生在我使用靜態DBContext時。如果我每次調用API時創建一個新的DBContext,那麼API會將我輸入到表中的新數據返回。 – user42