2013-10-28 75 views
0

我們在我們的項目中使用EF5.0,我們提供的OnModelCreating事件如何在運行時更改實體框架的DbSchema?

string schemaName = DbSchema; 
modelBuilder.Configurations.Add(new TableMap(schemaName)); 

使用下面的代碼數據庫架構名稱,但我們的問題是,OnModelCreating事件被稱爲只有一次(即使我創造上下文對象),我們需要更改我們在循環中處理的不同數據庫的Db Schema名稱。

我相信,EF 6.0有像HasDefaultSchema的方法,但我無法找到EF5.0

的方式有沒有什麼辦法來實現這一目標?

回答

0

最乾淨的方法可能是使用DbContext的構造函數​​[1]。根據需要,這樣,你可以創建兩個不同的配置(雖然只在架構不同),並切換這些。

本身由DbModel class表示並由DbModelBuilder class創建的模型。這與OnModelCreating方法幾乎相同。你可以很容易地參數化這個。

[1]我想你想使用一個背景。如果不是,你我會去不同的上下文類。

相關問題