使用EF CORE遷移數(shù)據(jù)庫
一、遷移需要的依賴
Install-Package Microsoft.EntityFrameworkCore.SqlServer -version 3.1.1 Install-Package Microsoft.EntityFrameworkCore.Tools -version 3.1.1 Install-Package Microsoft.EntityFrameworkCore.Design -version 3.1.1
二、遷移方式
- 程序包管理器控制臺 , Package Manager Console(PMC)
? 如果你用visual studio 開發(fā)建議使用PMC遷移方式,該方式是同時支持efcore和原先的ef 遷移的
- 命令行工具 ,Command line interface (CLI)
? 該方式適用于跨平臺開發(fā)的時候進(jìn)行遷移數(shù)據(jù)庫的,也就是可脫離visual studio,比如你用vs code,或直接打開cmd控制臺進(jìn)行操作
- 命令對比
遷移命令描述 | CLI命令 | PMC命令 |
---|---|---|
創(chuàng)建遷移:migrationname為遷移名稱 | dotnet ef migrations add migrationName | add-migration migrationName |
移除遷移(刪除最近的一次遷移) | dotnet ef migrations remove | remove-migration |
應(yīng)用所有的遷移(使遷移文件應(yīng)用到數(shù)據(jù)庫) | dotnet ef database update | update-database |
指定版本進(jìn)行遷移 | dotnet ef database update migrationName | update-database migrationName |
生成對應(yīng)版本的腳本 | dotnet ef migrations script | Script-Migration |
查看遷移列表 | dotnet ef migrations list | |
查看數(shù)據(jù)庫上下文信息 | dotnet ef dbcontext info |
三、使用
程序包管理器控制臺 , Package Manager Console(PMC)打開visual studio 程序包管理控制臺,首先要善于使用pmc的幫助,輸入get-help 查看幫助信息,根據(jù)提示我們可以輸入 get-help about_entityframework 獲取幫助信息,輸入命令后我們應(yīng)該能看到一只霸氣的野馬頭像 ,頭像下面就是efcore的相關(guān)幫助文檔了 ,入下圖:
add-migration 這個命令一般都不會有啥問題輸入命令回車在輸入遷移名稱就ok
remove-migration 這個也是如果想刪除最后一次遷移 直接執(zhí)行就好
update-database 第一步添加一個遷移文件成功后,可以用該命令直接更新到數(shù)據(jù)庫,默認(rèn)是所有遷移,如果想指定遷移直接加上遷移文件的名字就好了,如:update-database migrationName,也相當(dāng)于版本回滾操,比如有版本1,2,3 此時我想回滾到版本1 就直接 update-database 1,此時數(shù)據(jù)庫中已經(jīng)更新到1版本了,然后在兩次remove-migration把2和3的遷移文件刪除就好了
Script-Migration 這個命令用于生成遷移文件對應(yīng)的sql語句的,跟之前的ef貌似有些不一樣,該命令如果不加任何參數(shù) 是默認(rèn)生成所有遷移文件對應(yīng)的sql語句,當(dāng)然也參照格式指定餐宿
Script-Migration -From migrationName1 -To migrationName2 -Context ContextName
最后溫馨提示 使用 Get-Help 即可獲取對應(yīng)命令文檔,如 get-help update-databa
跨平臺命令行工具 ,Command line interface (CLI)打開vscode 命令終端 輸入dotnet ef 后也能看到一只霸氣野馬的頭像,也將列出相關(guān)幫助信息
- dotnet ef migrations add 生成一條遷移
- dotnet ef migrations remove 刪除最新一次遷移
- dotnet ef database update 生成遷移到數(shù)據(jù)庫,跟上面pmc命令類似 后面加指定的遷移作為參數(shù)可以進(jìn)行版本的回滾
- dotnet ef migrations script 也跟pmc類似 如果沒有任何參數(shù)的話默認(rèn)是生成所有sql腳本,但是參數(shù)格式略有不同如下:dotnet ef migrations script
- migrationName1 migrationName2 ; 是像這樣直接跟遷移名稱的也就是生成migrationName1 到migrationName2 的sql腳本
到此這篇關(guān)于EF CORE遷移數(shù)據(jù)庫的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET 實現(xiàn)驗證碼以及刷新驗證碼的小例子
這篇文章介紹了ASP.NET 實現(xiàn)驗證碼以及刷新驗證碼的小例子,有需要的朋友可以參考一下2013-10-10asp.net?core?中的Jwt(Json?Web?Token)的使用詳解
session不支持分布式并且在服務(wù)器存儲一份用戶登錄的信息,這份登錄信息會在響應(yīng)時傳遞給瀏覽器,告訴其保存為cookie,以便下次請求時發(fā)送給我們的應(yīng)用,這篇文章主要介紹了asp.net?core?中的Jwt(Json?Web?Token)的使用,需要的朋友可以參考下2022-10-10基于.net standard 的動態(tài)編譯實現(xiàn)代碼
這篇文章主要介紹了基于.net standard 的動態(tài)編譯實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07無法將函數(shù)定義與現(xiàn)有的聲明匹配 問題的解決辦法 分享
無法將函數(shù)定義與現(xiàn)有的聲明匹配 問題的解決辦法 分享,需要的朋友可以參考一下2013-05-05在asp.net網(wǎng)頁中顯示數(shù)學(xué)符號的代碼
在網(wǎng)頁中顯示一些符號,如數(shù)學(xué)符號(Insus.NET僅提供常用符號),需要的朋友可以參考下2012-10-10Entity Framework使用Code First模式管理視圖
本文詳細(xì)講解了Entity Framework使用Code First模式管理視圖的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03詳解ASP.NET Core實現(xiàn)強(qiáng)類型Configuration讀取配置數(shù)據(jù)
本篇文章主要介紹了詳解ASP.NET Core實現(xiàn)強(qiáng)類型Configuration讀取配置數(shù)據(jù) ,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05