首先说明:本文使用Mysql这块拷贝自:https://blog.csdn.net/tangmou_ren/article/details/84856892,感谢作者。
1.移除SQL Server的Nuget包
打开程序包管理器控制台,并选中xxx.EntityFrameworkCore
执行下面两条命令:
uninstall-package microsoft.entityframeworkcore.design
uninstall-package microsoft.entityframeworkcore.sqlserver
2.安装MySQL的Nuget包
执行下面两条命令:
install-package pomelo.entityframeworkcore.mysql.design install-package pomelo.entityframeworkcore.mysql
3.更改配置文件
在解决方案的EntityFrameCore层找到DbContextConfigurer文件,并做如下修改:
4.修改数据库连接字符串
在appsetting.json文件中修改数据库连接字符串:
"Default": "Server=localhost;Port=3306;Database=你的数据库名;Uid=数据库用户名;Pwd=密码;"
5.添加数据迁移
先说明下:这个步骤需要先将xxx.Web.Host设为启动项,否则会提示xxx.Web.Host不是启动项错误信息。
删除EntityFrameCore层中Migrations文件夹里的所有文件,别删除Migrations文件夹。
然后重新生成解决方案,接着打开程序包管理器控制台,选中.EntityFrameworkCore,输入以下命令:
Add-Migration Init
此时你的Migrations文件夹里会新增几个文件,接着输入命令:
Update-Database
至此,mysql数据库就会自动生成数据库和响应的表。
下面说下如何新增表?
提前说明:这块参考自:https://www.cnblogs.com/dacaba/p/9910726.html,感谢作者。
我们是基于CodeFirst开发的。所以需要先定义实体,然后再进行迁移,最终生成表结构。
实体如下:
namespace AbpDemo.Persons { public class Person : FullAuditedEntity { public string Name { get; set; } public int Sex { get; set; } } }
然后再在基础层(EntityFrameworkCore)的类AbpDemoDbContext添加数据集Persons
public DbSet<Person> Persons { get; set; }
最后执行Add-Migration Init xxxx和Update-Database命令就可以了。其中xxxx你可以随便命名,但最好见名知意。