0
我有一個問題涉及n-tier
架構使用Entity Framework
在數據訪問級別的網絡後端。 請與我分享您的經驗 - 您如何通過實體框架組織業務交易?實體框架和業務交易
- 首先,我發現是使用
Unit Of Work
模式。那UoW
對象是某種類型的存儲庫聚合器,他們之間共享相同的DbContext
。但我不確定這種方法可能對巨大的業務邏輯有用。 第二種方法是具有
Entity framework transaction factory
將封裝新交易的創建業務層上像using (var transaction = transactionsFactory.Start()) { //business logic here }
,並且每個HTTP請求注入範圍之一。 後者在數據級我會打電話
using (var db = dbContextFactory.GetContext())
{
//data operations
db.SaveChanges();
}
要在同一事務執行DbContext
操作。 該方法的缺點是需要允許distrubuted transactions
在MS SQL Server
。
您使用了哪些方法?您有哪些優缺點?
混合您的問題考慮BusinessLogic或DataAccess組織嗎? –
@MaxKvt兩者。通過EF組織業務邏輯事務存在哪些方法。 –