我完全不熟悉開發技術ASP.NET MVC +實體框架4 5(DataBase First)。我遇到了一個問題,即使經過數小時的研究,我仍未找到解決方案。實體框架5多個數據庫
在我的應用程序需要每個客戶端都有自己的數據庫,這將在登錄後選擇。
爲每個基底創建一個映射(edmx)?我必須更改DbContext或連接字符串持續執行?
我不知道從哪裏開始。 我可以爲每個數據庫創建映射(edmx),並在運行時更改DbContext或連接字符串嗎?
謝謝大家。
我完全不熟悉開發技術ASP.NET MVC +實體框架4 5(DataBase First)。我遇到了一個問題,即使經過數小時的研究,我仍未找到解決方案。實體框架5多個數據庫
在我的應用程序需要每個客戶端都有自己的數據庫,這將在登錄後選擇。
爲每個基底創建一個映射(edmx)?我必須更改DbContext或連接字符串持續執行?
我不知道從哪裏開始。 我可以爲每個數據庫創建映射(edmx),並在運行時更改DbContext或連接字符串嗎?
謝謝大家。
當你創建你的DbContext你可以通過在你的web.config的ConnectionString的名稱:
var db = new MyDbContext("NameOfConnectionStringInWebConfig");
可以傳遞一個連接字符串名稱,或數據庫連接信息(的SqlConnection) 如果您有一個多數據庫概念,在運行時添加數據庫,因爲App.config沒有連接名稱,所以數據庫連接方法很有用。
您當然可以將連接名稱添加到app.config,或嘗試使用數據庫連接方法。 當你到達遷移主題時,它會變得有趣。的
public class MyDbContext : DbContext
//ctor
public MyDbContext(string connectionName) : base(connectionName){ }
public MyDbContext(DbConnection dbConnection, bool contextOwnsConnection)
: base(dbConnection, contextOwnsConnection) { }
可能重複的[通行證連接字符串代碼優先的DbContext](http://stackoverflow.com/questions/4805094/pass-connection-string-to-code-first-dbcontext)。或http://stackoverflow.com/q/7599455/861716。或http://stackoverflow.com/q/12284291/861716。 –