我打算爲我的項目使用實體框架,但它可能會改變,所以我決定抽象該層。工作單元與實體框架
我想要一個實現IUOW的類,我可以傳遞給我的存儲庫,這樣所有的db調用都在一個事務中完成。
現在,我在網上看到的每個例子,在實現IUOW的類中都有dbContext,是不是它是一個約束,我需要dbContext對象,如果我想創建只調用存儲過程的存儲庫,該怎麼辦。那麼我將不會有dbContext
。
我打算爲我的項目使用實體框架,但它可能會改變,所以我決定抽象該層。工作單元與實體框架
我想要一個實現IUOW的類,我可以傳遞給我的存儲庫,這樣所有的db調用都在一個事務中完成。
現在,我在網上看到的每個例子,在實現IUOW的類中都有dbContext,是不是它是一個約束,我需要dbContext對象,如果我想創建只調用存儲過程的存儲庫,該怎麼辦。那麼我將不會有dbContext
。
我明白,你應該創建一個接口(IPersistence ... IData的,財產以後這樣的),並用它的DbContext實現它只是它實現的EntityFramework類的東西可視電話(EntityPersistence:IPersistence) 。我想你可以看看這個例子:https://codereview.stackexchange.com/questions/47879/unit-of-work-and-repository-with-entity-framework-6
你是什麼意思的「所有數據庫調用」是在一個事務中做出的?據我所知,dbContexts試圖在一個事務中完成所有操作。但是如果你需要額外的封裝,我會考慮使用TransactionScope。有了這個,您可以輕鬆地通過一個事務跨越多個層次來處理應用程序,處理錯誤等(請參閱這些文章:http://msdn.microsoft.com/en-us/data/dn456843.aspx)