2013-05-17 152 views
0

我完全不熟悉開發技術ASP.NET MVC +實體框架4 5(DataBase First)。我遇到了一個問題,即使經過數小時的研究,我仍未找到解決方案。實體框架5多個數據庫

在我的應用程序需要每個客戶端都有自己的數據庫,這將在登錄後選擇。

爲每個基底創建一個映射(edmx)?我必須更改DbContext或連接字符串持續執行?

我不知道從哪裏開始。 我可以爲每個數據庫創建映射(edmx),並在運行時更改DbContext或連接字符串嗎?

謝謝大家。

+0

可能重複的[通行證連接字符串代碼優先的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。 –

回答

0

當你創建你的DbContext你可以通過在你的web.config的ConnectionString的名稱:

var db = new MyDbContext("NameOfConnectionStringInWebConfig"); 
0

可以傳遞一個連接字符串名稱,或數據庫連接信息(的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) { } 
相關問題