1,在领域层(Core)添加一个实体

    [Table("Department")]public class Department : FullAuditedEntity{[Required][StringLength(64)]public string Code { get; set; }[Required][StringLength(128)]public string Name { get; set; }}

2,在基础层(EntityFrameworkCore)的类AbpDemoDbContext添加数据集

    public class Core3DemoDbContext : AbpZeroDbContext<Tenant, Role, User, Core3DemoDbContext>{/* Define a DbSet for each entity of the application */public DbSet<Department> Departments { get; set; }public Core3DemoDbContext(DbContextOptions<Core3DemoDbContext> options): base(options){}}

3,数据迁移可以在数据库自动建表, 但是个人推荐手动写脚本建表

CREATE TABLE [Department] ([Id] int NOT NULL IDENTITY,[CreationTime] datetime2 NOT NULL,[CreatorUserId] bigint NULL,[LastModificationTime] datetime2 NULL,[LastModifierUserId] bigint NULL,[IsDeleted] bit NOT NULL,[DeleterUserId] bigint NULL,[DeletionTime] datetime2 NULL,[Code] nvarchar(64) NOT NULL,[Name] nvarchar(128) NOT NULL,CONSTRAINT [PK_Department] PRIMARY KEY ([Id])
);

4,先在应用层(Application)写一个最简单的服务

   public class DepartmentAppService : Core3DemoAppServiceBase{public string SayHello(){return "hello";}}

运行项目打开Swagger我们可以测试这个接口

5,在应用层开发增删改查功能

如下图添加Dto 和 Profile 并修改DepartmentAppService类继承AsyncCrudAppService

代码分别如下

    public class CreateDepartmentDto{public string Code { get; set; }public string Name { get; set; }}public class DepartmentDto : EntityDto{public string Code { get; set; }public string Name { get; set; }}public class PagedDepartmentResultRequestDto : PagedResultRequestDto{public string Code { get; set; }public string Name { get; set; }}public class DepartmentMapProfile : Profile{public DepartmentMapProfile(){CreateMap<DepartmentDto, Department>();CreateMap<CreateDepartmentDto, Department>();CreateMap<Department, DepartmentDto>();}}public class DepartmentAppService : AsyncCrudAppService<Department, DepartmentDto, int, PagedDepartmentResultRequestDto, CreateDepartmentDto, DepartmentDto>{public DepartmentAppService(IRepository<Department, int> repository) : base(repository){}public string SayHello(){return "hello";}}

运行项目,查询Swagger可以看到增删改查的接口已经有了, 试一下

增删改查应该都可以了,如果有错误可以查看Web.Host\App_Data\Logs下面的日志排查问题: 例如没有在数据库建表等等

ABP入门教程(二)添加一个实体和服务相关推荐

  1. ABP入门教程(三)添加一个领域层和一个应用层

    1 添加一个领域层 前言: ABP自带的Core层我们一般不会修改, 为了项目结构更加清晰建议添加一个Core层, 存放与业务有关的实体 1,在src目录下新建一个项目,类库,例如叫AbpDemo.C ...

  2. python爬虫入门教程(二):开始一个简单的爬虫

    2019/10/28更新 使用Python3,而不再是Python2 转载请注明出处:https://blog.csdn.net/aaronjny/article/details/77945329 爬 ...

  3. ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是"ASP.NET Boilerplate Project (ASP.NET样 ...

  4. Android WebRTC 入门教程(二) -- 模拟p2p本地视频传输

    Android WebRTC 入门教程(一) – 使用相机 Android WebRTC 入门教程(二) – 模拟p2p本地视频传输 源码工程: https://github.com/LillteZh ...

  5. LittleVGL (LVGL)干货入门教程二之LVGL的输入设备(indev)API对接。

    LittleVGL (LVGL)干货入门教程二之LVGL的输入设备(indev)API对接 前言: 阅读前,请确保你拥有以下条件: 你已经完成"显示API"的移植. 你已经实现了一 ...

  6. 微信小程序云开发 初学者入门教程二

    微信小程序云开发 初学者入门教程二-前端操作数据库模块 如何操作数据库,作为一名前端,如果对数据的知识不够熟悉也没关系,从现在开始好好学习就行,数据库的操作内容差不多涉及增删改查四大模块,花一些业余的 ...

  7. python elasticsearch 入门教程(二) ---全文搜索

    python elasticsearch 入门教程(二) ---全文搜索 截止目前的搜索相对都很简单:单个姓名,通过年龄过滤.现在尝试下稍微高级点儿的全文搜索--一项 传统数据库确实很难搞定的任务. ...

  8. MongoDB 教程二: 添加, 删除,查询 shell命令

    视频:MongoDB 教程二: 添加, 删除,查询 shell命令 MongoDB Shell 常用操作命令 MonoDB   shell命令操作语法和JavaScript很类似,其实控制台底层的查询 ...

  9. R语言七天入门教程二:认识变量与运算符

    R语言七天入门教程二:认识变量与运算符 一.什么是变量 1.变量 顾名思义,我们可以将变量理解为"可以改变的量",是计算机语言中能储存计算结果或能表示值的抽象概念.这里的值可以是数 ...

最新文章

  1. 一个页面区分管理者和普通用户如何设计_电商系统:优惠券原型设计说明(二)...
  2. ecshop php5.4以上版本错误之preg_replace 替换成 preg_replace_callback
  3. CCNP中单区域OSPF详解(第一部分)
  4. 机器人J中WPR_优傲:协作机器人的未来在哪里?
  5. 【转】DATAGRIDVIEW控制
  6. 安卓平板 python_使用安卓手机或平板对microbit进行编程
  7. 信息学奥赛一本通(1233:接水问题)
  8. 为防盗装自动门 不想也会影响生活
  9. 地大计算机学院保研华科人数,2020年华中科技大学保研率是多少
  10. linux的manual手册不存在,Linux笔记
  11. 卷积的拉普拉斯变换等于拉普拉斯变换的乘积
  12. OnlyOffice 二次开发定制化部署
  13. 【Altium Designer】使用CAD绘制PCB版型并将dwg文件导入AD(异形板设计)
  14. 数字孪生钢厂开发可视化系统-解决方案
  15. 串行外设接口(Serial Peripheral Interface, SPI)逻辑设计部分 - spi_slave
  16. 7-2 长度质量计量单位换算(分数 5)
  17. MySQL日志双一配置分析实战
  18. STM32 Alternate functions 与 Additional functions
  19. 2021河南省ICPC省赛总结
  20. wgt包更新时会下载但是不会安装

热门文章

  1. php图书管理系统源码详细设计,C语言程序设计:图书管理系统(超详细有登录系统,附代码和试验报告)...
  2. 【演示工具】Focusky教程 | 删除录音
  3. 低代码如何助力石化行业数字化升级?
  4. JZSearch精准全文搜索引擎共享开发包 v4.5
  5. 国庆出游大家有什么好的帐篷品牌推荐
  6. python 发送email到qq
  7. Python基础知识 D4
  8. @MapperScan(basePackages = “com.lzc.mapper“)的作用
  9. c语言链表head的作用,c语言链表的用法
  10. 【正点原子Linux连载】第二十二章 AP3216C 摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2