我使用SimpletInjector
通過存儲過程在EF上下文所做的更改使用以下代碼來注入entity framework
上下文中控制器:反映
private static void Initializer(Container container)
{
container.RegisterSingle<IDbContext, SpotterContext>();
container.RegisterSingle<IUnitOfWork, UnitOfWork>();
}
我使用的注入上下文中執行的存儲過程,其將僅具有UPDATE
或使用下面的代碼DELETE
聲明:
context.Database.ExecuteSqlCommand(<spname>, <params array>);
我現在面臨的問題是,通過在數據庫中的存儲過程中所做的更改都沒有得到體現在上下文nd當使用上下文訪問更新的數據時,我得到的是舊數據而不是更新數據。
如何在執行存儲過程以從數據庫獲取最新數據後更新context
?
閱讀[本](http://stackoverflow.com/a/10588594/1515209) - 你不應該真的註冊上下文作爲一個單身。 – qujck 2014-10-17 12:19:42
請注意,@qujck是獨佔的,而您的問題是由於使用dbcontext作爲單例造成的。使用Reload方法可能看起來像解決了您的問題,但正如qujck的鏈接所解釋的,dbcontext不能用於跨線程和請求。 – Steven 2014-10-19 14:52:36