Asp.net-Mvc-4
“執行程式碼優先遷移”複選框從我的發布配置文件中消失了
我正在使用 Web 部署首先使用 EF5 程式碼部署 MVC4 應用程序。我製作了一個名為“開發”的發布配置文件,該配置文件使用“執行程式碼優先遷移”複選框對應用程序和數據庫使用 Web 部署,以便在應用程序啟動時執行遷移。出版工作了一段時間。在某個時候,我添加了一個名為“test”的新發布配置文件以部署到另一台伺服器,該伺服器使用 ftp 部署方法並且沒有自動遷移。這也很好。但是,當我再次嘗試使用舊的“開發”發布配置文件時,VS 自動將設置更改為 dbDacFx 方式(“更新數據庫”複選框而不是“執行程式碼優先遷移”),我無法將其恢復為原來如此。使用“測試”時,項目還有一些其他變化 個人資料,但在我看來,沒有任何事情會導致這種情況。有誰知道為什麼 VS 認為我的項目不再首先使用程式碼?
這是正確的答案-為我解決了問題。只需將您的連接字元串重命名為您的 DbContext,例如
public ApplicationDbContext() : base("Vocabulary.Domain.ApplicationDbContext", throwIfV1Schema: false) { }請注意,名稱應包括命名空間,如“Vocabulary.Domain.ApplicationDbContext”。不要忘記更新 .pubxml 文件:
<ObjectGroup Name="Vocabulary.Domain.ApplicationDbContext" Order="1" Enabled="True">本文描述了何時發布對話框有或沒有勾選“執行程式碼優先遷移(在應用程序啟動時執行)”