一, 简要说明
本篇文章根据我自己的需要对项目结果进行简化, 让项目结构更符合我自己的要求, 同时让项目跑起来. 仅供参考
二, 具体步骤
2.1 卸载掉对我来说目前使用不上的项目, identityserver,MongoDB,httpapi.client, 以及对应的 test 项目
2.2 删除掉下图红框中的包与类文件, 由于我后期会创建一个独立的项目来做 migrations, 所以不需要在 HttpApi.Host 里面直接使用 EF 相关的操作, 而且个人认为这样会模糊掉 abpvnext 的层级, 混乱了层级的职责.
上图的报错都是由于我删除了相关的包引起的, 因此跳转到相关文件中, 把所有的报错行, 全部删除. 同时由于我没有启用 Redis 的服务, 所以要把下图的 Redis 服务也先行注释掉.
2.3 将启动模式修改成: 如下图, 同时把原来输出日志到文件的模式修改成: console(), 以便在控制台时能很直观的看到 Log. 调试项目, 则可以启动成功了.
2.4 在 src 下面增加 DbMigrations 类库, 注意: 此处只能选择. netcore 类型的类库, 不能是只属于 netstandard 这样会导致无法使用. 创建后的样子如下, 这样就可以使用此项目进行 migration 操作了, 且不会影响主线代码.
1. 关于 DbM_LearnDbContext 这个类, 如果你能保证整个项目的所有开发人员都只能使用 codefirst 进行开发的话, 可以直接继承主的 LearnDbContext, 这样 LearnDbContext 的所有 DbSet 都会得到继承, 则不需要再重复写 dbset.
2. 若是 codefirst 与 dbfirst 混用的情况, 则不要继承
3. 单纯 dbfirst 的话, 此项目可以去掉
来源: https://www.cnblogs.com/twoBcoder/p/12756094.html