1. 程式人生 > 其它 >EF資料庫遷移工具migration的使用

EF資料庫遷移工具migration的使用

1、在DbContext類所在專案中新增 EntityFramework引用,可使用nuget新增

2、開啟程式包管理器控制檯(如果看不到程式包管理器控制檯,在選單欄中“其他視窗”中可找到),預設專案要選擇你的DbContext類所在專案,然後輸入命令,啟用資料遷移

enable-migrations

執行後的結果:

A、 啟用遷移之前還沒有建立資料庫

a) 在專案根目錄下建立了一個Migrations資料夾

b) 在Migrations資料夾下新建了一個Configuration.cs檔案。

我們可以通過修改Configuration.cs來對Migration做一些配置(比如在Seed方法中加入一些預定義資料(角色、使用者等)等,以在啟動應用程式時自動將這些預定義的資料新增到資料庫中)

u.Name == adminUser.Name) == null) { context.Users.Add(adminUser); context.SaveChanges(); } } " v:shapes="文字框_x0020_2">

B、 如果啟用資料遷移之前已經建立了一個數據庫

如果啟用資料遷移之前已經自動建立了一個數據庫,則會在Migrations資料夾下新增Configuration.cs、yyyyMMddHHmmsss_InitialCreate.cs兩個檔案,InitialCreate檔案包含了現有資料庫架構的建立和刪除命令

3、在修改了實體資料後,輸入以下命令,更新資料庫

add-migration XXX

XXX 為遷移指定的名稱 比如:InitialCreate 或 AddName

它會生成一個yyyyMMddHHmmsss_XXX.cs的檔案

該命令將根據自建立上次遷移以來對模型所做的更改,為下一次遷移搭建基架

在此時可以對生成的程式碼做一些修改,比如新增唯一索引,不可空列等

update-database [-verbose] [-targetmigration:XXX]

將所有掛起的遷移應用於資料庫

update-database:直接應用於資料庫

-verbose標記,用於以便您能夠看見遷移所執行的 SQL。

-targetmigration 可對資料庫升級或降級到指定版本之後的狀態,若要降級到空資料庫,可使用 update-database -targetmigration: $InitialDatabase 命令。