在我們公司中,我們有一個(gè)針對1個(gè)數(shù)據(jù)庫的應(yīng)用程序?,F(xiàn)在,我被告知要為每個(gè)客戶公司使用單獨(dú)的數(shù)據(jù)庫使其成為多租戶。因此,我創(chuàng)建了一個(gè)新數(shù)據(jù)庫,用于存儲所有用戶并存儲他們的公司名稱,該名稱將用于更改數(shù)據(jù)庫。我要做什么:1.用戶登錄2.后端檢查用戶的公司名稱3.檢索到的公司名稱將分配給dbcontext:base,它將使用公司名稱切換數(shù)據(jù)庫當(dāng)然,我在stackoverflow和其他地方瀏覽了與此相關(guān)的其他問題,其中大多數(shù)人將其作為解決方案: public FacilityEntities() : base("name=Demo") { } public FacilityEntities(string dbConnection) : base(dbConnection) { }大多數(shù)人說這可行。但這對我不起作用。另外,盡管不建議這樣做,但我也嘗試在運(yùn)行時(shí)更改web.config文件,但每次用戶登錄時(shí),應(yīng)用程序都會刷新,無法通過登錄過程。如何設(shè)置更改后的數(shù)據(jù)庫而不必使用using(){}?如何讓登錄的用戶一直在使用該數(shù)據(jù)庫?每次對數(shù)據(jù)庫執(zhí)行操作時(shí),是否都必須調(diào)用此新數(shù)據(jù)庫嗎?有什么方法可以將此已登錄用戶將此更改后的數(shù)據(jù)庫設(shè)置為“主數(shù)據(jù)庫”?
3 回答

小唯快跑啊
TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
對于此問題,我只需將新實(shí)體的第二個(gè)連接字符串添加到您的web.config中
<connectionStrings>
<add name="DefaultConnection" .../>
<add name="DefaultConnection2" .../>
</connectionStrings

DIEA
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊
您的dbcontext類具有2個(gè)構(gòu)造函數(shù)。1個(gè)默認(rèn)值和一個(gè)參數(shù)化的值。您需要調(diào)用參數(shù)化版本
return dbContext ?? (dbContext = new FacilityEntities());
嘗試將其更改為
return dbContext ?? (dbContext = new FacilityEntities("New Connection String"));
無論哪種情況,都必須修改連接代碼。
- 3 回答
- 0 關(guān)注
- 272 瀏覽
添加回答
舉報(bào)
0/150
提交
取消