我已經將數據庫存儲庫層添加到執行CRUD的MVC應用程序中。有時我的控制器需要調用多個數據庫存儲庫,我通過調用我需要的db數據庫來執行此操作。這又會創建多個數據庫上下文對象。每個存儲庫一個。應該有多個數據庫上下文對象,還是應該將單個數據庫上下文傳遞給存儲庫對象?MVC數據庫上下文過度使用?
0
A
回答
1
在你的控制器中你應該使用一個dbContext。因爲當你嘗試在db中更新你的模型時,你可能會遇到錯誤。由於不同的dbContext。
檢查HERE
1
應該只有一個,我高度推薦使用工作模式的單位:
這裏有一個快速和簡單的例子:
public interface IUoW : IDisposable
{
MyDbContext DbContext { get; set; }
void SaveChanges();
}
public class UoW : IUoW
{
public MyDbContext DbContext { get; set; }
public UoW()
{
DbContext = new MyDbContext();
}
public void SaveChanges()
{
DbContext.SaveChanges();
}
public void Dispose()
{
DbContext.Dispose();
}
}
您需要爲一次實例UOW每個請求並將其傳遞到您的存儲庫:
public class MyRepository
{
private MyDbContext _context;
public MyRepository(IUoW uow)
{
_context = uow.MyDbContext;
}
// your crud methods
}
當然,這只是一個非常簡單的例子,我看到許多人以不同的方式實現這個模式。
+0
謝謝。我已經實施這種模式是有效的! – user1476207 2013-05-07 09:18:42
相關問題
- 1. MVC 3 - 數據庫上下文 - Web.Config
- 2. MVC成員數據庫上下文?
- 3. 在MVC中使用語句處理數據庫上下文
- 4. 將數據庫上下文作爲參數傳遞給mvc
- 5. 用C#連接數據庫上下文
- 6. 使用LINQ2SQL在ASP.NET MVC中的各種模型庫共享數據上下文
- 7. ASP.NET MVC數據庫使用
- 8. Spring.NET IOC/MVC - 處置的數據庫上下文
- 9. ASP.NET MVC 3數據庫上下文查詢
- 10. 使用ASP.NET MVC將文件上傳到數據庫
- 11. 使用上下文插入數據庫不起作用
- 12. 使用數據上QuerySting MVC
- 13. 使用ASP.NET MVC創建LINQ to SQL數據模型的數據上下文
- 14. 上傳文件數據到數據庫中使用Spring MVC和休眠
- 15. 在使用存儲過程修改數據庫之後更新上下文
- 16. 使用EF Codefirst手動同步上下文和數據庫
- 17. 如何在模擬數據庫上下文時使用DefaultIfEmpty?
- 18. 使用接口將數據庫上下文注入到類中
- 19. 使用PHP上傳/下載POSTGRESQL數據庫中的文件
- 20. 經常使用的實體框架數據庫上下文
- 21. 如何在coredata上下文中使用預填充數據庫
- 22. 動態數據庫上下文
- 23. Glass上下文數據庫null
- 24. 多個數據庫上下文
- 25. 混淆靜態數據庫上下文
- 26. 數據庫上下文變化
- 27. 使用來自WCF數據服務的上下文類創建上下文到本地數據庫
- 28. 通過WCF從數據庫上載和下載文檔
- 29. 如何通過Ado.net使用MVC從數據庫綁定多個下拉列表
- 30. 使用父數據上下文流星
感謝您的幫助。這是一種享受!現在我必須通過我所有的代碼並改變它。 – user1476207 2013-05-07 09:18:15
很高興,它有幫助... – 2013-05-07 09:19:58