1. 程式人生 > >EF框架之資料遷移

EF框架之資料遷移

 1.為什麼要使用資料遷移,在使用EF的CodFirst時,如果模型發生了變化,就會刪除資料庫,根據模型重建資料庫,這樣的情況下,資料庫中原先的資料會丟失,如果使用資料遷移,則會在原資料庫中修改,資料不會丟失,資料庫的升級也需要資料遷移,

2.還有就是如果需要將資料庫部署在Azure,也需要資料遷移,

首先安裝EF,搜尋安裝即可,

工具->NuGet包管理器->程式包管理器控制檯輸入enable-migrations(開啟資料遷移)

然後會自動在專案中生成這個資料夾,開啟Configuration.cs檔案, AutomaticMigrationsEnabled = true;改為true自動遷移,改為false手動遷移,建議手動遷移(原因:手動遷移可以回滾,防止出現意外丟失資料)

3.手動遷移過程:(命令可以通過方向鍵獲得已經使用過的命令)

(0)Enable-Migrations(開啟資料遷移)

 (1)Add-Migration Script(這個名字可以自定義,是你資料遷移指令碼,會在Migration 檔案目錄下生成)

(2)Update-Database -script(檢視資料遷移指令碼對應的SQL語句)

(3)Update-Database(執行資料遷移指令碼,執行完畢後,模型中修改的專案更新到資料庫)

(4)如果想要回到某個狀態或者版本,執行Update-Database -TargetMigration 201809010237039_Script(這個是你要回滾的那個指令碼)

4.自動遷移過程,

(1)AutomaticMigrationsEnabled =true,

(2)Update-Databas(自動遷移只需要執行這個)

最後一條,如果想要將資料遷移到一個新的資料庫,在配置檔案中將連線字串中的資料庫名字改為想要遷移的目標資料庫名字,如果不存在資料庫,則會自動重建。