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