經驗總結26--EF6多網站使用一個數據庫

當使用EF生成數據庫後,想多個網站使用同一個數據庫,並且進行前臺後臺分離,或者以後進行app擴展使用。

但嘗試分離後,發現第二個網站訪問數據庫時,會提示進行數據庫結構改變,需要遷移的錯誤。

但並未使用過數據庫遷移,也是重新生成的數據庫。

後面同事查閱資料和研究,才發現是數據庫初始化的問題。

Database.SetInitializer<PermissionContext>(null);

該代碼是必須要執行一次的,一般新的網站,必須進行數據庫初始化,可爲空,沒有啥意義,報錯也是牛馬不相及。

如果EF可以默認已經執行該代碼,一旦有初始化需求,再進行重寫即可。

但目前不支持這樣的功能,那就自己手動加上吧。

步驟:

1、老網站還是不變,生成數據庫。

2、新網站,加上代碼即可。

 public UserContext(string nameOrConnectionString)
            : base(nameOrConnectionString)
        {
            Database.SetInitializer<PermissionContext>(null);
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章