《MySql 使用 EF Core 2.0 CodeFirst》要點:
本文介紹了MySql 使用 EF Core 2.0 CodeFirst,希望對您有用。如果有疑問,可以聯(lián)系我們。
dotnet core 2.0 發(fā)布已經(jīng)好幾天了,期間也把原來 dotnet core 1.1 的 MVC 項目升級到了 2.0,升級過程還是比較順利的,變動也不是太多.升級的過程中也少不了 Entity Framwork Core 的升級,在這篇文章中主要介紹下 MySql 數(shù)據(jù)庫使用 Entity Framwork Core 2.0 如何進行 Code First、Database First 及數(shù)據(jù)庫遷移(Migration),雖然比較基礎(chǔ),但是做到盡量詳細.本文所有示例代碼已經(jīng)提交到 GitHub:https://github.com/starts2000/EFCoreDemo,如果覺得對你有贊助,就給個 Star 吧.
Visual Studio 2017 15.3
.NET CORE 2.0 SDK
1、創(chuàng)立 .NET Core 類庫項目 【Starts2000.EFCoreCodeFirst】
2、添加 User 實體類
最終【Starts2000.EFCoreCodeFirst】項目布局如下:
3、創(chuàng)立 .NET Core 控制臺應(yīng)用項目 【Starts2000.EFCoreCodeFirst.Test】
添加對 【Starts2000.EFCoreCodeFirst】項目標(biāo)引用;
Nuget 添加 Microsoft.EntityFrameworkCore.Tools 及 Pomelo.EntityFrameworkCore.MySql(注意勾上:包含預(yù)發(fā)行版) 的引用;
4、編纂 Starts2000.EFCoreCodeFirst.Test.csproj 項目文件,添加如下內(nèi)容:
終極內(nèi)容如下:
5、添加 TestDbContext 類(注意:把數(shù)據(jù)庫連接字符串修改為本身的)
6、打開敕令行窗口,切換到 【Starts2000.EFCoreCodeFirst.Test】項目文件夾目錄,執(zhí)行如下敕令:
如果命令執(zhí)行勝利,可以看到項目目錄中新增了如下內(nèi)容:
7、執(zhí)行 dotnet ef database update
敕令
執(zhí)行勝利后,可以看到數(shù)據(jù)庫及表創(chuàng)建勝利.
8、改動實體,并把改動的內(nèi)容更新到數(shù)據(jù)庫
User 類的 Account 屬性對應(yīng) User 表的 Account 列應(yīng)該是唯一的,前面忘記了設(shè)置唯一索引,如今在 TestDbContext 中加上:
執(zhí)行 dotnet ef migrations add UserTableUpdateAccount
敕令:
如果命令執(zhí)行勝利,可以看到項目目錄中新增了如下內(nèi)容:
接著依照 步驟7 的操作,如果成功,可以看到 User 表已經(jīng)創(chuàng)建了 Account 的唯一索引:
9、測試數(shù)據(jù)寫入和讀取
在 Main 函數(shù)中添加如下代碼:
把【Starts2000.EFCoreCodeFirst.Test】項目設(shè)置為啟動項目,編譯運轉(zhuǎn):
三、Entity Framwork Core 2.0 MySql Database First
1、新建 【Starts2000.EFCoreDbFirst】 項目
2、Nuget 添加 Pomelo.EntityFrameworkCore.MySql(注意勾上:包含預(yù)發(fā)行版) 的引用;
3、編纂 Starts2000.EFCoreDbFirst.csproj 項目文件,添加如下內(nèi)容:
終極內(nèi)容如下:
4、打開敕令行窗口,切換到 【Starts2000.EFCoreDbFirst】項目文件夾目錄,執(zhí)行如下敕令:
執(zhí)行勝利后,項目增加了如下內(nèi)容:
5、創(chuàng)立 .NET Core 控制臺應(yīng)用項目 【Starts2000.EFDbFirst.Test】進行測試
添加對 【Starts2000.EFCoreDbFirst】項目標(biāo)引用;
把 Main 函數(shù)改動為如下代碼:
把【Starts2000.EFCoreDbFirst.Test】項目設(shè)置為啟動項目,編譯運轉(zhuǎn):
歡迎參與《MySql 使用 EF Core 2.0 CodeFirst》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7131.html