2013-04-27 101 views
10

使用實體我目前擁有dbcontext,每個表都有它。我應該有多少個DBContext

我想知道這是每個人都做的,或者你有每個模塊的上下文爲例。對我來說,dbcontext是一個將模型映射到數據庫的連接,由於只有一個數據庫,我只需要一個。

在我走得太遠之前,我想看看這是否合適。

那麼1個數據庫上下文每個數據庫或許多?

+0

我有同樣的想法 – 2013-04-27 06:52:04

回答

4

我最近經歷了這個過程,發現了一些關於這個主題的很好的資源。這裏有一對非常有幫助的夫婦:

我是建設一個桌面應用程序,我結束了使用多個環境,這樣我可以保持一生綁在模塊而不是應用程序。這對我來說非常有效,我喜歡我的DbContext不會被DbSets淹沒,並且僅限於與當前模塊相關的那些。

在ASP.NET MVC應用程序中,它與DbContext只會在請求時一樣長,在這種情況下,除非數據庫非常大,否則我通常會使用單個DbContext來簡化這些操作。對於大型數據庫,我可能會將其拆分爲多個DbContexts,以限制開銷和雜亂,並將事物劃分。

0

目前EF沒有被分解到diff dbContexts中。 Here a great talk about it

我們爲這種情況做了些什麼,我們只是爲了數據庫生成而從我們的MVC網站創建了一個項目差異,然後爲每個需求分別使用了dbContexts。

這樣我們的dbContexts從不大,易於維護