ABP core学习之一 使用Mysql数据库



修改项目:EntityFrameworkCore 

1.添加类库

  使用nuget包管理器,添加 Pomelo.EntityFrameworkCore.MySql

2.TradeErpDbContextConfigurer

在TradeErpDbContextConfigurer文件中,将builder.UseSqlServer(connection);修改为builder.UseMySql(connection);

3.修改原有的迁移语句

修改原有的迁移语句, 将相关的SqlServer修改为MySql,不然update-database后,id不是auto_increment
迁移文件.cs
migrationBuilder.CreateTable(
name: "AbpEditions",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
......
});
改为
migrationBuilder.CreateTable(
name: "AbpEditions",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
......
});


迁移文件.Designer.cs

modelBuilder
.HasAnnotation("ProductVersion", "1.1.1")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
改为
modelBuilder
.HasAnnotation("ProductVersion", "1.1.1")
.HasAnnotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn);

 

与ef的差异

在ef core中,使用add-migration xxxx后,撤销的话使用命令remove-migration不能直接删除生成的迁移文件

因为 xxxDbContextModelSnapshot 快照文件被自动修改了,如果没有一起修改 就会出错。但是手动修改非常麻烦,它不是有序的

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM