3.abp框架code first方式创建表

首先介绍下项目下的几个类库

*****.Application :应用层   编写自动控制器service的地方

*****.Contracts:存放dto实体(比如保存数据时不需要保存id我们dto实体中没有id属性)

*****.Domain:领域层   存放实体类

*****.Domain.Shared:理解为共享域(比如存放一些枚举类)

*****.EntityFrameworkCore:如果使用code first方式此类库需要映射表

*****.EntityFrameworkCore.DbMigrations: 基础层  后续做操作更新数据库使用类库

EntityFrameworkCore/Test11111DbContext.cs文件   EntityFrameworkCore/Test11111DbContextModelCreatingExtensions.cs

*****.HttpApi.Host:启动项目所有控制器存放地。指向swagger

1.首先在.Domain类库中创建实体

using Volo.Abp.Domain.Entities.Auditing;

Book继承聚合根

2.在.Shared中创建BookType

3.在.EntityFrameworkCore添加映射

4.在程序包管理器控制台选择.EntityFrameworkCore.DbMigrations 执行 add-migration "所作的操作",update-database成功后会弹出执行文件

查看数据库生成了AppBooks表

5.在.Application.Contracts创建Dto实体以便后期增删改查使用

using Volo.Abp.Application.Dtos;

BookDto继承实体Dto

using System.ComponentModel.DataAnnotations;

using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services; 

官方文档中提到

  • 框架定义应用程序服务的接口不是必需的. 但是,它被建议作为最佳实践.
  • ICrudAppService定义了常见的CRUD方法:GetAsync,GetListAsync,CreateAsync,UpdateAsyncDeleteAsync. 你可以从空的IApplicationService接口继承并手动定义自己的方法(将在下一部分中完成).
  • ICrudAppService有一些变体, 你可以在每个方法中使用单独的DTO,也可以分别单独指定(例如使用不同的DTO进行创建和更新).

所以此接口可以不必创建 

6.在.Application类库中的****ApplicationAutoMapperProfile中添加实体对Dto的映射关系,不然调用自动控制器时会报错

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香煎三文鱼

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值