tft每日頭條

 > 科技

 > 跟着官網學ASP.NETCore6.0之通過EF

跟着官網學ASP.NETCore6.0之通過EF

科技 更新时间:2024-11-14 16:52:04

前面,我們跟着微軟官網教程,創建了一個簡單的Demo Webapi程序,這節,我們繼續跟着教程學一下簡單的EF Core操作數據庫

連接數據庫自然需要相應的數據庫驅動,在微軟官方也給我列出了相應數據庫的驅動程序,如下圖:

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)1

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)2

這裡我的數據庫是MySQL 8.0.24,所以需要安裝Pomelo.EntityFrameworkCore.MySql,它支持MySQL和MariaDB。

安裝MySQL驅動

安裝NuGet包方式有多種,如直接在包命令行輸入Install-Package Pomelo.EntityFrameworkCore.MySql -Version 6.0.0進行安裝,或者通過.NET CLI執行dotnet add package Pomelo.EntityFrameworkCore.MySql --version 6.0.0進行安裝,又或者在.csproj中加入<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.0" />進行安裝,等等。當然我還是比較喜歡圖形化操作,在VS中依賴項(右鍵)->選擇NuGet程序包->輸入Pomelo.EntityFrameworkCore.MySql回車搜索->點擊安裝

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)3

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)4

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)5

配置數據庫

我們先在appsettings.json增加數據庫連接,如下:

1 2 3 4 5 6 7 8 9 10 11 12 13

{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "ConnectionStrings": { "MysqlConnectionString": "Server=localhost;User=hrp;Password=hrp123456*;Database=hrp" } }

繼續去Program.cs配置數據庫

1 2 3 4 5 6

var serverVersion = new MySqlServerVersion(new Version(8, 0, 24)); string connectionString = builder.Configuration.GetConnectionString("MysqlConnectionString"); builder.Services.AddDbContext<DemoContext>(opt => { opt.UseMySql(connectionString, serverVersion); });

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)6

支持,數據庫便配置好了,我接下來便是遷移數據庫

遷移數據庫

這裡我們從工具->NuGet包管理器->程序包管理器控制台,執行Add-Migration InitialCreate命令

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)7

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)8

執行成功後,會在項目下生成遷移文件,并且會在數據庫中創建一個名為__efmigrationshistory的記錄表

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)9

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)10

我們打開20220116090024_InitialCreate即可看到生成好的遷移代碼,我們可以看到,Id列為MySqlValueGenerationStrategy.IdentityColumn,會自動生成為Id遞增。我們在程序包管理器控制台繼續執行Update-Database命令,它便會幫我們在數據庫中創建好表

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)11

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)12

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)13

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)14

這些字段名和字段類型及長度是可以指定的,這個後面再詳細學習

測試WebApi

數據庫已連接,數據庫中的表也已生成好,那麼接下來就去測試下我們的API能否正常工作。

新增數據

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)15

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)16

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)17

查詢數據

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)18

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)19

跟着官網學ASP.NETCore6.0之通過EF(跟着官網學ASP.NETCore6.0之通過EF)20

這一節,我們簡單的了解了一下ASP.NET Core 6.0通過EF Core6.0來操作MySQL數據庫,下一節,我們繼續學習ASP.NET Core 6.0打印日志。

EF Core功能很是強大,并不是通過幾個簡單的操作就能學習得完的,後面我們抽時間繼續深入一下。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved