實(shí)體框架在運(yùn)行時(shí)更改連接我有一個(gè)Web API項(xiàng)目,它引用了我的模型和DAL程序集。向用戶呈現(xiàn)登錄屏幕,他可以在其中選擇不同的數(shù)據(jù)庫(kù)。我按如下方式構(gòu)建連接字符串: public void Connect(Database database)
{
//Build an SQL connection string
SqlConnectionStringBuilder sqlString = new SqlConnectionStringBuilder()
{
DataSource = database.Server,
InitialCatalog = database.Catalog,
UserID = database.Username,
Password = database.Password,
};
//Build an entity framework connection string
EntityConnectionStringBuilder entityString = new EntityConnectionStringBuilder()
{
Provider = database.Provider,
Metadata = Settings.Default.Metadata,
ProviderConnectionString = sqlString.ToString()
};
}首先,我如何實(shí)際更改數(shù)據(jù)上下文的連接?其次,由于這是一個(gè)Web API項(xiàng)目,連接字符串(在每個(gè)登錄時(shí)設(shè)置)在整個(gè)用戶的交互中是持久的還是應(yīng)該每次都傳遞到我的數(shù)據(jù)上下文?
3 回答

森欄
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
我得到了錯(cuò)誤:關(guān)鍵字不支持'數(shù)據(jù)源'。為了解決這個(gè)問(wèn)題,我不得不改變他的代碼的這一部分:
// add a reference to System.Configurationvar entityCnxStringBuilder = new EntityConnectionStringBuilder (System.Configuration.ConfigurationManager .ConnectionStrings[configNameEf].ConnectionString);
對(duì)此:
// add a reference to System.Configurationvar entityCnxStringBuilder = new EntityConnectionStringBuilder{ ProviderConnectionString = new SqlConnectionStringBuilder(System.Configuration.ConfigurationManager .ConnectionStrings[configNameEf].ConnectionString).ConnectionString};
我真的很抱歉。我知道我不應(yīng)該使用答案回答其他答案,但我的答案太長(zhǎng)了評(píng)論:(
- 3 回答
- 0 關(guān)注
- 475 瀏覽
添加回答
舉報(bào)
0/150
提交
取消