用EFCore,把数据库从MSSQL切换到MySQL.
刚成功切换了数据库到MySQL,这也是选择EFCore的初衷,能很好的支持多数据库,也能完成复杂的映射关系,几乎0成本,全程就几分钟,记录下操作点。
1. 修改数据库连接。只需要需改连接内容,不要私自连接,这个有授权的。不信,试试。
"DbConnection": "server=175.24.28.20;database=ForestryDB;userid=root;pwd=Z.;port=3306;sslmode=none;"
2.给Repository 和 WebApi 项目安装Nuget package. Pomelo.EntityFrameworkCore.MySql,注意先卸载原来的 EntityFrameworkCore.MSSql package包。而且还需要降级Microsoft.EntityFrameworkCore.Design,从5.1降到3.10,如果不降级,会报错,
按照报错,发现Pomelo.EntityFrameworkCore.MySql 3.2.4 这个版本与 5.0 以上的有冲突。这个根据提示来,因为也许后面的新版本没这个问题。
3. 更新ConfigureService
services.AddDbContext<EntityDBContext>(options => { options.UseMySql(Configuration.GetConnectionString("DbConnection"), builder=> { builder.MigrationsAssembly("DL.Forestry.Repository"); }); });
4. add-Migration and update-database. 搞定,就这么简单。