---
# System prepended metadata

title: 'DB EF(6): 使用Multi Context需注意'
tags: [Entity Framework]

---

###### 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)

