###### tags: `Entity Framework` # DB EF(6): 使用Multi Context需注意 ## 重點 EF6在Multi DB Context專案下,下Add-Migration與Update-Database時,建議指定起始專案(推薦)或Context實際路徑(EF6不推) ## 情境 近期開發,遇到需有遠端(MSSQL)與本地端資料庫(SQLLite)的需求。DB部分使用EF6套件去操作DataBase,過程需要做Migration。一般我們會設套件管理主控台的預設專案如下 ![](https://i.imgur.com/N2HIjrP.png) 接著就下Add-Migarion "ActionName" ## 問題 但在Multi Context下,他有可能不會先去找你預設專案路徑下的Context,如下述例子 ![](https://i.imgur.com/nifeliF.png) 紅色具有SQLLite Context,紫色有SQL Server Context,我在選擇預設專案具有SQL Server Context的MSSQL類別庫後,下Add-Migration卻發生設置上不是SQLLite相關設置問題。 ## 處理 因此在Add-Migration需多加StarUpProjectName參數設置如下 ![](https://i.imgur.com/3YMpgyP.png) 此時Migration就可正常使用,另外Update-Database一樣要指定StarUpProjectName ![](https://i.imgur.com/yFfpI0k.png)