【abp Vnext】下载并运行abp Vnext项目详细教程文档( 二 )


该项目不依赖解决方案中的其他项目. 其他项目直接或间接依赖该项目
. 项目
解决方案的领域层. 它主要包含 实体, 集合根, 领域服务, 值类型, 仓储接口 和解决方案的其他领域对象.
例如 Book 实体和接口都适合放在这个项目中.
它依赖 .. 项目,因为项目中会用到它的一些常量,枚举和定义其他对象. ..
项目 项目主要包含 应用服务和应用层的 数据传输对象 (DTO). 它用于分离应用层的接口和实现.
这种方式可以将接口项目做为约定包共享给客户端.
例如接口和类都适合放在这个项目中.
它依赖 .. 因为它可能会在应用接口和DTO中使用常量,枚举和其他的共享对象.
. 项目
项目包含 .. 项目的 应用服务 接口实现.
例如类适合放在这个项目中.
它依赖 .. 项目, 因为它需要实现接口与使用DTO. 它依赖 .
项目,因为它需要使用领域对象(实体,仓储接口等)执行应用程序逻辑. . 项目 这是集成EF
Core的项目. 它定义了并实现 . 项目中定义的仓储接口.
它依赖 . 项目,因为它需要引用实体和仓储接口. 只有在你使用了EF Core做为数据库提供程序时,此项目才会可用.
如果选择的是其他数据库提供程序那么项目的名称会改变
.. 项目
包含解决方案的EF Core数据库迁移. 它有独立的来专门管理迁移.
ABP是一个模块化的框架,理想的设计是让每个模块都有自己的类. 这时用于迁移的就会发挥作用.
它将所有的配置统一到单个模型中以维护单个数据库的模式.
对于更高级的场景,可以程序可以拥有多个数据库(每个数据库有一个或多个模块表)和多个迁移(每个都维护不同的数据库模式)
需要注意,迁移仅用于数据库迁移,而不在运行时使用.
它依赖 . 项目,因为它重用了应用程序的配置 . 只有在你使用了EF
Core做为数据库提供程序时,此项目才会可用. 参阅Core迁移指南了解这个项目的详细信息.
. 项目
这是一个控制台应用程序,它简化了在开发和生产环境执行数据库迁移的操作.当你使用它时;
必要时创建数据库(没有数据库时). 应用未迁移的数据库迁移. 初始化种子数据(当你需要时). 这个项目有自己的
.json 文件. 所以如果要更改数据库连接字符串,请记得也要更改此文件.
初始化种子数据很重要,ABP具有模块化的种子数据基础设施. 种子数据的更多信息,请参阅文档.
虽然创建数据库和应用迁移似乎只对关系数据库有用,但即使你选择NoSQL数据库提供程序(如),也会生成此项目.
这时,它会为应用程序提供必要的初始数据.
它依赖 .. 项目 (针对EF Core),因为它需要访问迁移文件. 它依赖
.. 项目,因为它需要访问权限定义在初始化种子数据时为管理员用户赋予所有权限.