2010-04-13 61 views
3

我開始將現有的ColdFusion應用程序移植到.NET MVC中,而且我遇到的第一個問題是,在ColdFusion中,我們使用可以定義多個數據源並以動態方式訪問它們的事實,所以一個特定的用戶可以指向一個特定的數據庫。爲了舉個例子,我可能有兩個數據庫Foo和Bar,每個數據庫都有一個名爲Locations的表,它存儲特定於該數據庫的位置。數據庫保證有相同的表,所以這不是一個問題。如何動態地告訴.NET MVC應用程序哪個數據源指向?

在ColdFusion中,您可以輕鬆地將用戶指向特定的數據源,因爲它只是通過ColdFusion管理員配置的字符串(或者可以通過編程方式修改XML文件)。

所以問題是如何在.NET中做到這一點?

具體而言,我想我真的很喜歡使用Entity框架來利用它提供的ORM支持來對數據庫中的數據執行操作,但我不知道如何做到這一點(希望這是可能的)。有什麼想法嗎?

回答

2

您可以輕鬆地將連接字符串傳遞給實體框架的數據上下文結構。

var context = new MyDataContext(dynamicConnectionString); 

當然,這是假設每個數據源連接到將有完全相同的模式;-)

1

當您創建EF模型中的條目將被添加到Web.config中配置節稱爲connectionStrings。如果您不需要像Joel建議的那樣在運行時更改數據庫,則可以將其編輯爲指向不同的數據庫。

相關問題