2017-09-06 79 views
0

是否可以在運行時更改數據庫類型?如果是,那該怎麼辦?我正在使用EntityFramework 6.使用EntityFramework在運行時更改數據庫類型

有關此問題的背景: 我有一個最初沒有數據庫訪問權限的應用程序。用戶首先必須通過「安裝」過程並提供有關數據庫的信息(包括數據庫類型,例如MySql或MsSql)。

如果可能,我想避免使用2個上下文。如有需要,我可以提供更多細節。

回答

0

您可以使用以下...

DbContext在運行時指定的連接字符串具有可與連接字符串的名稱,或在連接字符串本身被重載的構造函數。

public partial class EntityName: DbContext { 
    public EntityName(): base("name=EntityName") {} 
    public EntityName(string connectionString): base(connectionString) {} 
} 

var connString = "PopulateConnString"; 
Using (var ctx = new EntityName(EntityConnectionStringBuilder) 
{ 
    // Do stuff 
}