1.安装NuGet包
Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.EntityFrameworkCore.Design
Install-Package Microsoft.EntityFrameworkCore.SqlServer
2.添加模型类
using System.ComponentModel.DataAnnotations;
namespace MigrateWebApi.Models
{
public class User
{
[Key]
public long Id { get; set; }
[MaxLength(16)]
public string? Name { get; set; }
[MaxLength(32)]
public string? Tel { get; set; }
[MaxLength(64)]
public string? Openid { get; set; }
public DateTime? RegisterDate { get; set; }
}
}
3.添加数据库上下文类
#nullable disable
using Microsoft.EntityFrameworkCore;
using MigrateWebApi.Models;
namespace MigrateWebApi.Data
{
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { }
public DbSet<User> Users { get; set; }//此变量名关联表名
}
}
4.添加数据库连接字符串到appsettings.json
"ConnectionStrings": {
"localdb": "Server=(localdb)\\mssqllocaldb;Database=Test;Trusted_Connection=True;MultipleActiveResultSets=true"
}
Server=(localdb)\\mssqllocaldb:指定使用SQL Server LocalDB,它是只在 Windows 上运行的一种 SQL Server Express 版本。
Database=Test:关联数据库名称。
5.在Program.cs中注册数据库上下文
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDbContext<MyDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("localdb")));
var app = builder.Build();
6.执行迁移
Add-Migration InitialCreate
Update-Database
Add-Migration InitialCreate:添加迁移计划,InitialCreate为计划名称。执行成功将生成Migrations/20220308041128_InitialCreate.cs和Migrations/MyDbContextModelSnapshot.cs。
Update-Database:执行迁移。