基本信息:
官网:https://aspnetboilerplate.com
api:https://aspnetboilerplate.com/Pages/Documents/Articles-Tutorials
Demo:https://github.com/aspnetboilerplate/aspnetboilerplate-samples
学习步骤:
先看一下API,然后旧直接下载Demo,看这个项目“SimpleTaskSystem”,
不用管这个项目能否运行,主要看一下他的结构,每个模块的分布和定义,得有一个大体上的认识,
看完项目后,再回过去看官网里面的项目整体结构,对应项目结构,再思考一下
总结:
以项目SimpleTaskSystem为例:
应用层(Application):
定义 DTO 和 Service(应用服务)
领域层(Core):
定义 Entity(实体对象) 和 Repository(仓储接口)
基础设施层(EntityFramework 或 NHibernate):
定义 Migrations(数据迁移 ) 和 仓储的实现
应用层 调用 领域层
领域层 调用 基础设施层
常见错误:
注意一下.Net 或 Core 的框架版本
官网文档照着弄一般都能运行,就是一些代码是没有给出相应的路径,或者有一些下的地方文档和示例代码是不一样的,把遇到的记录一下
数据迁移:
最好是把下载的示例demo里面的‘Migrations’这个文件夹删掉,重新生成。
路径:MyProject.EntityFrameworkCoreMigrations
如果迁移时出错,应该是需要先NuGet里面安装“Microsoft.EntityFrameworkCore.Design”这个文件,版本好像是2.2.1,和其它类库的版本保持一致就好了。
语言包的路径:
MyProject.EntityFrameworkCoreMigrations
文档里面的是json格式,实际是xml格式
DbContext路径:
MyProject.EntityFrameworkCoreEntityFrameworkCoreMyProjectDbContext.cs
初始化数据 或 测试数据源 的路径:
MyProject.EntityFrameworkCoreEntityFrameworkCoreSeed
添加菜单路径:
MyProject.Web.MvcStartupMyProjectNavigationProvider.cs
Controller基类路径:
MyProject.Web.CoreControllersMyProjectControllerBase.cs