使用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ā)的時候進行遷移數(shù)據(jù)庫的,也就是可脫離visual studio,比如你用vs code,或直接打開cmd控制臺進行操作
- 命令對比
| 遷移命令描述 | CLI命令 | PMC命令 |
|---|---|---|
| 創(chuàng)建遷移:migrationname為遷移名稱 | dotnet ef migrations add migrationName | add-migration migrationName |
| 移除遷移(刪除最近的一次遷移) | dotnet ef migrations remove | remove-migration |
| 應用所有的遷移(使遷移文件應用到數(shù)據(jù)庫) | dotnet ef database update | update-database |
| 指定版本進行遷移 | dotnet ef database update migrationName | update-database migrationName |
| 生成對應版本的腳本 | 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 獲取幫助信息,輸入命令后我們應該能看到一只霸氣的野馬頭像 ,頭像下面就是efcore的相關(guān)幫助文檔了 ,入下圖:

add-migration 這個命令一般都不會有啥問題輸入命令回車在輸入遷移名稱就ok
remove-migration 這個也是如果想刪除最后一次遷移 直接執(zhí)行就好
update-database 第一步添加一個遷移文件成功后,可以用該命令直接更新到數(shù)據(jù)庫,默認是所有遷移,如果想指定遷移直接加上遷移文件的名字就好了,如:update-database migrationName,也相當于版本回滾操,比如有版本1,2,3 此時我想回滾到版本1 就直接 update-database 1,此時數(shù)據(jù)庫中已經(jīng)更新到1版本了,然后在兩次remove-migration把2和3的遷移文件刪除就好了
Script-Migration 這個命令用于生成遷移文件對應的sql語句的,跟之前的ef貌似有些不一樣,該命令如果不加任何參數(shù) 是默認生成所有遷移文件對應的sql語句,當然也參照格式指定餐宿
Script-Migration -From migrationName1 -To migrationName2 -Context ContextName
最后溫馨提示 使用 Get-Help 即可獲取對應命令文檔,如 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ù)可以進行版本的回滾
- dotnet ef migrations script 也跟pmc類似 如果沒有任何參數(shù)的話默認是生成所有sql腳本,但是參數(shù)格式略有不同如下:dotnet ef migrations script
- migrationName1 migrationName2 ; 是像這樣直接跟遷移名稱的也就是生成migrationName1 到migrationName2 的sql腳本
到此這篇關(guān)于EF CORE遷移數(shù)據(jù)庫的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
asp.net下Request.QueryString取不到值的解決方法
2008-01-01
.NET開發(fā)基礎(chǔ):從簡單的例子理解泛型 分享
.Net開發(fā)基礎(chǔ)系列文章,對自己之前寫過的代碼備忘,如能給人予幫助,不甚榮幸。個人能力有限,如有差錯或不足,請及時指正。2013-06-06
Asp.net中Microsoft.Identity的IPasswordHasher加密的默認實現(xiàn)與運用
本文主要介紹了Microsoft.Identity的IPasswordHasher加密的默認實現(xiàn)與運用。具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02
一文帶你了解.Net基于Threading.Mutex實現(xiàn)互斥鎖
互斥鎖是一個互斥的同步對象,意味著同一時間有且僅有一個線程可以獲取它。這篇文章主要介紹了一文帶你了解.Net基于Threading.Mutex實現(xiàn)互斥鎖,感興趣的可以了解一下2021-06-06
.Net平臺開發(fā)實踐的一些點滴總結(jié)(技術(shù)規(guī)范與實踐精華)
以下是本人對.Net平臺開發(fā)實踐的一些點滴總結(jié)。這里的技術(shù)規(guī)范主要是開發(fā)過程的代碼規(guī)范、數(shù)據(jù)庫設(shè)計規(guī)范、Com和.Net互操作規(guī)范;實踐精華是對技術(shù)實踐過程中的部分總結(jié)。2010-04-04
asp.net實現(xiàn)access數(shù)據(jù)庫分頁的方法
這篇文章主要介紹了asp.net實現(xiàn)access數(shù)據(jù)庫分頁的方法,很實用的access操作技巧,需要的朋友可以參考下2014-08-08
ASP.Net MVC_DotNetZip簡單使用方法,解決文件壓縮的問題
下面小編就為大家?guī)硪黄狝SP.Net MVC_DotNetZip簡單使用方法,解決文件壓縮的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
asp.net 獲取Datalist中Checkbox的值的小結(jié)
最近開發(fā)過程中遇到一個小問題,要獲取checkbox的值,在網(wǎng)上搜索了一下,發(fā)現(xiàn)基本上都是用JS實現(xiàn)的,現(xiàn)在我將自己的做法記錄一下,以便以后繼續(xù)使用。2010-04-04

