net core ef mysql迁移_DotNet Core 3.1 EF Core 数据库迁移(Migration)

开发环境

编译器:VS2019

数据库:SqlServer 2019

运行环境

DotNet Core SDK(3.1.400)

SqlServer迁移方式

依赖包

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.SqlServer

使用迁移命令需要的依赖包

Microsoft.EntityFrameworkCore.Tools

EntityFramework

Microsoft.EntityFrameworkCore.Design

迁移命令

1.创建第一个迁移

Add-Migration InitialCreate

2.创建数据库和架构

Update-Database

如果在实体中需要新增CreatedTimestamp 字段

public class Blog

{

public int Id { get; set; }

public string Name { get; set; }

public DateTime CreatedTimestamp { get; set; }

}

执行如下命令创建新迁移:

Add-Migration AddBlogCreatedTimestamp

Update-Database

如果执行Update-Database异常需要删除上一个添加的迁移命令

删除上一个添加的迁移命令

Remove-Migration

appsettings.json配置

新增ConnectionString节点

{

"Logging": {

"LogLevel": {

"Default": "Information",

"Microsoft": "Warning",

"Microsoft.Hosting.Lifetime": "Information"

}

},

"AllowedHosts": "*",

"ConnectionString": {

"SqlServer": "server=.;database=NetCoreDemo;uid=sa;pwd=123"

}

}

Startup.cs配置如下

public void ConfigureServices(IServiceCollection services)

{

string constr = Configuration.GetSection("ConnectionString:SqlServer").Value;

services.AddDbContext(options =>

options.UseMySQL(connstr, m => m.MigrationsAssembly("User.API"));

services.AddControllersWithViews();

}

MySql迁移方式

依赖包

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Design

Microsoft.EntityFrameworkCore.Tools

MySql.Data.EntityFrameworkCore

appsettings.json配置

新增ConnectionString节点

{

"Logging": {

"LogLevel": {

"Default": "Information",

"Microsoft": "Warning",

"Microsoft.Hosting.Lifetime": "Information"

}

},

"AllowedHosts": "*",

"ConnectionString": {

"MySql": "Data Source=localhost;port=3306;database=NetCoreDemo;User Id=root;Password=12345"

}

}

Startup.cs配置如下

public void ConfigureServices(IServiceCollection services)

{

var constr = Configuration.GetSection("ConnectionString:MySql").Value;

services.AddDbContext(

options.UseMySQL(connstr, m => m.MigrationsAssembly("User.API"));

);

services.AddControllersWithViews();

}

在依次执行上述迁移命令即可

注意执行命令时必须默认项目必须选择继承了DbContext 的那个程序集

可能会遇到的错误:

net core ef mysql迁移_DotNet Core 3.1 EF Core 数据库迁移(Migration)_第1张图片

前面加上 EntityFrameworkCore 试试

EntityFrameworkCore\Add-Migration InitialCreate

EntityFrameworkCore\Update-Database

你可能感兴趣的:(net,core,ef,mysql迁移)