ABP 学习记2
官方提供下载的框架,使用的是EF Core。
使用应用程序迁移,反向生成数据库时,配置好appsettings.json 文件中的数据库连接地址。
根据你自己想要的数据库,来配置连接地址。
比如你要使用sql server ,那么你就配置sql server 数据库的连接字符串。
你要使用 Oracle 数据库,那么你就配置Oracle 数据库的连接字符串。
反向生成时,它会自动识别地址,从而生成对应的数据库。
如果运行xxx.Web项目时,报管道的另一端无任何进程时,请先查看 项目下面的 appsettings.json 文件中
数据库连接地址是否正确。
启动模板中的域层分为两个项目:
xxx.BookStore.Domain
包含您的实体,域服务和其他核心域对象。xxx.BookStore.Domain.Shared
包含constants
,enums
或可以与客户端共享的其他与域相关的对象。
EF Core要求将实体与您的DbContext关联。最简单的方法是将一个DbSet
属性添加到xxx.BookStore.EntityFrameworkCore项目中的BookStoreDbContext
类.
在xxx.BookStore.EntityFrameworkCore
项目中打开BookStoreDbContextModelCreatingExtensions.cs文件,并将以下代码添加到ConfigureBookStore
方法的末尾以配置Book实体:
builder.Entity<Book>(b => { b.ToTable(BookStoreConsts.DbTablePrefix + "Books", BookStoreConsts.DbSchema); b.ConfigureByConvention(); //auto configure for the base class props b.Property(x => x.Name).IsRequired().HasMaxLength(128); });
b.Property(x => x.Name).IsRequired().HasMaxLength(128); 是对实体中的Name属性设置请求的最大长度。
添加该using Volo.Abp.EntityFrameworkCore.Modeling;
语句以解决ConfigureByConvention
扩展方法。
关联添加完成之后,在VS中打开NuGet 控制台,设置 xxx.BookStore.EntityFrameworkCore.DbMigrations
作为默认启动项目并执行以下命令:
Add-Migration "Created_Book_Entity"
这将在xxx.BookStore.EntityFrameworkCore.DbMigrations
项目的Migrations文件夹内创建一个新的迁移类。
然后执行Update-Database
命令以更新数据库架构:
执行迁移时,注意项目下面是否含有appsettings.json文件需要里面的数据库连接串才能还原到库中,如果没有,则去刚才配置好的appsettings.json项目中复制一份过来。
应用层分为两个项目:
xxx.BookStore.Application.Contracts
主要包含您DTO
的和应用程序服务接口。xxx.BookStore.Application
包含您的应用程序服务的实现。
DTO 类,用于 表示层 和 数据层 的数据传输。
加完之后需要去进行映射。在完了之后要去加接口映射。
接口映射完了之后,ABP框架会自动将其生成为对应的API接口。
有接口之后,去xxx.Web层建立页面,来进行调用接口,实现数据传输。
具体操作步骤请参考官方教程。(官方教程网址在上一篇)