1.安装 Nuget 包
Microsoft.EntityFrameworkCore
>Microsoft.EntityFrameworkCore.Tools
>Pomelo.EntityFrameworkCore.MySql
2.MVC 框架搭出来
models
cs
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace ShuYiTest.Models;
[Table("User")]
public class UserInfo
{
[Key]
public string ID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string PhoneNumber { get; set; }
}
Controller
cs
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using ShuYiTest.helper;
using ShuYiTest.Models;
namespace ShuYiTest.Controller
{
[Route("[controller]/[action]")]
[ApiController]
public class UserController : ControllerBase
{
[HttpPost]
public IActionResult GetUser(UserInfo user)
{
Console.WriteLine("Success");
}
}
}
3.创建 DbContext 类
cs
using Microsoft.EntityFrameworkCore;
using ShuYiTest.Models;
namespace ShuYiTest.helper;
public class EFContext:DbContext
{
public EFContext()
{
}
public DbSet<UserInfo> Persons { get; set; }
IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.Build();
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySql(configuration["ConnectionStrings:MysqlConnection"],new MySqlServerVersion(new Version(8,0,37)));
}
}
4.appsettings.json 中配置连接字段
json
"ConnectionStrings": {
"MysqlConnection": "server=localhost;port=3306;user=czm;password=Chenzhiming11.27;database=test"
},
5.使用 ef 进行表的迁移
1.dotnet ef migrations add InitialCreate//创建迁移
2.dotnet ef database update//应用迁移
3.dotnet ef migrations list//查看迁移历史
6.efCore 的使用
https://learn.microsoft.com/zh-cn/ef/core