0

我有消息線程和消息之間的一對多連接。我注意到了smth。當我嘗試顯示消息線程的消息時很奇怪。實體框架沒有獲取數據(可能工作單元不工作)

例如線程中有5條消息(我已經檢查過數據庫,所有事情都應該如此),但是我的存儲庫只能獲取3條消息。

我做了一些小的更改,運行遷移腳本,並且此時存儲庫設法獲取所有五條消息。

所以我決定增加2條消息(和他們已經成功添加),但此時倉庫取出5個信息,而不是7

所以我做了新的控制器,這個時候倉庫取全部7條消息,再次添加了幾條,但是又一次提取了7條。

這是爲什麼?我想問題可能出在我的工作單位上。

這裏是代碼UintOfWork:http://pastebin.com/kemDsy2C 這裏是代碼,我取的消息線索:http://pastebin.com/D0QEhRbm 最後這裏是控制器代碼:http://pastebin.com/G40cK3Gz

任何幫助,我很感激:)

編輯我忘了提到我使用signalR集線器創建消息並調用存儲庫的方式與我在控制器中的調用方式相同

回答

2

問題是您的類(包括UnitOfWork)是靜態的。這對Entity Framework來說不是一件容易的事。改變他們從靜態,你會沒事的。還可以考慮使用依賴注入容器來管理對象的生命週期並將所需的實例注入到每個控制器中。

有關更多信息,請參見this SO answer

+0

感謝您的回答:) – hyperN