abp项目 从sql server迁移至mysql

官方资料:https://aspnetboilerplate.com/Pages/Documents/EF-MySql-Integration
实验发现,还差了两步
整理一下,步骤如下:
1.引用MySql.Data.Entity
2.在Configuration.cs文件(Migrations文件夹下)的构造函数添加下段代码

SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());

3.修改数据库连接字符串

<add name="Default" connectionString="server=localhost;port=3306;database=sampledb;uid=root;password=***" providerName="MySql.Data.MySqlClient"/>

4.在dbcontext上加上特性

[DbConfigurationType(typeof(MySqlEFConfiguration))]

5.修改Web.config文件
providers在安装MySql.Data.Entity后会自行添加,有一个mysql的,有一个sql server的,把sql server的去掉
然后手动修改defaultConnectionFactory

<entityFramework>
  <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
  <providers>
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
  </providers>
</entityFramework>

6.删去原来的所有迁移文件
7.执行迁移指令

Add-Migration "AbpZero_Initial"
Update-Database  

迁移过程中,遇到问题搜索mysql报错的相关资料
over

猜你喜欢

转载自www.cnblogs.com/Lulus/p/9550335.html