点这里进入ABP入门教程目录

创建目录

在应用层(即JD.CRS.Application)下创建文件夹Course //用以存放Course相关应用服务

在JD.CRS.Application/Course下创建文件夹Dto //用以存放Course相关数据传输对象

创建数据传输对象

在JD.CRS.Application/Course/Dto下创建两个Dto

只读对象

CourseDto.cs //用于查询Course对象

贴上AutoMapFrom的特性

[AutoMapFrom(typeof(Entitys.Course))]

 using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using System;
using System.ComponentModel.DataAnnotations; namespace JD.CRS.Course.Dto
{ [AutoMapFrom(typeof(Entitys.Course))]
public class CourseDto : EntityDto<int>
{
/// <summary>
/// 课程编号
/// </summary>
[StringLength()]
public string Code { get; set; }
/// <summary>
/// 院系编号
/// </summary>
[StringLength()]
public string DepartmentCode { get; set; }
/// <summary>
/// 课程名称
/// </summary>
[StringLength()]
public string Name { get; set; }
/// <summary>
/// 课程积分
/// </summary>
[Range(, )]
public int Credits { get; set; }
/// <summary>
/// 备注
/// </summary>
[StringLength()]
public string Remarks { get; set; }
/// <summary>
/// 状态: 0 正常, 1 废弃
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime? CreateDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
[StringLength()]
public string CreateName { get; set; }
/// <summary>
/// 修改日期
/// </summary>
public DateTime? UpdateDate { get; set; }
/// <summary>
/// 修改人
/// </summary>
[StringLength()]
public string UpdateName { get; set; } public DateTime CreationTime { get; set; }
}
}

可写对象

CreateUpdateCourseDto.cs //用于创建/修改Course对象

贴上AutoMapTo的特性

[AutoMapTo(typeof(Entitys.Course))]

 using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using System;
using System.ComponentModel.DataAnnotations; namespace JD.CRS.Course.Dto
{ [AutoMapTo(typeof(Entitys.Course))]
public class CreateUpdateCourseDto : EntityDto<int>
{
/// <summary>
/// 课程编号
/// </summary>
[StringLength()]
public string Code { get; set; }
/// <summary>
/// 院系编号
/// </summary>
[StringLength()]
public string DepartmentCode { get; set; }
/// <summary>
/// 课程名称
/// </summary>
[StringLength()]
public string Name { get; set; }
/// <summary>
/// 课程积分
/// </summary>
[Range(, )]
public int Credits { get; set; }
/// <summary>
/// 备注
/// </summary>
[StringLength()]
public string Remarks { get; set; }
/// <summary>
/// 状态: 0 正常, 1 废弃
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime? CreateDate { get; set; }
/// <summary>
/// 创建人
/// </summary>
[StringLength()]
public string CreateName { get; set; }
/// <summary>
/// 修改日期
/// </summary>
public DateTime? UpdateDate { get; set; }
/// <summary>
/// 修改人
/// </summary>
[StringLength()]
public string UpdateName { get; set; } public DateTime CreationTime { get; set; }
}
}

创建应用服务接口

在JD.CRS.Application/Course下新建项/接口

ICourseAppService.cs

 using Abp.Application.Services;
using Abp.Application.Services.Dto;
using JD.CRS.Course.Dto; namespace JD.CRS.Course
{
public interface ICourseAppService : IAsyncCrudAppService<//定义了CRUD方法
CourseDto, //用来展示课程
int, //Course实体的主键
PagedResultRequestDto, //获取课程的时候用于分页
CreateUpdateCourseDto, //用于创建课程
CreateUpdateCourseDto> //用于更新课程
{
}
}

创建应用服务

在JD.CRS.Application/Course下新建项/类

CourseAppService.cs

 using Abp.Application.Services;
using Abp.Application.Services.Dto;
using Abp.Domain.Repositories;
using JD.CRS.Course.Dto;
using System.Threading.Tasks; namespace JD.CRS.Course
{
public class CourseAppService : AsyncCrudAppService<Entitys.Course, CourseDto, int, PagedResultRequestDto,
CreateUpdateCourseDto, CreateUpdateCourseDto>, ICourseAppService {
public CourseAppService(IRepository<Entitys.Course, int> repository)
: base(repository)
{ } public override Task<CourseDto> Create(CreateUpdateCourseDto input)
{
var sin = input;
return base.Create(input);
}
}
}

最新文章

  1. 删除MSSQL数据库中所有表
  2. Sqool与kettle开源的ETL工具
  3. WEB开发:如何用js来模拟服务器的ajax响应,不依赖服务器来编写前端代码
  4. 苹果手机上开发微信公众号(wap)遇到的问题解决方法
  5. Android Studio上修改项目(module)的包名(Package Name)
  6. 修改了SpringBoot的主类名称后,gradle build报错的解决办法
  7. 图解:HTTP 范围请求,助力断点续传、多线程下载的核心原理
  8. Linux命令大全汇总,让你工作更有效率!
  9. linux系统安装MongoDB
  10. jQuery和Zepto冲突问题【解决】
  11. Ubuntu下开启Mysql远程访问的方法
  12. java多线程有哪些实际的应用场景?
  13. 《Java程序设计》第一周学习记录(2)
  14. 5.7 C++函数调用操作符重载
  15. 关于MSCOMM.OCX无法正常注册的问题解决
  16. how to use kvo with swift (怎样在swift中使用kvo)
  17. thinkphp 无限极分类的数据库设计及效果测试
  18. 20169205实验一 Java开发环境的熟悉(Linux+IDEA)
  19. (3)Smali系列学习之Smali语法详解
  20. JAVA8之lambda表达式详解,及stream中的lambda使用

热门文章

  1. 2.Android-sdk目录介绍、ADT使用介绍、创建helloworld
  2. (2018版)webstorm的安装和破解
  3. Laravel 框架对于分表进行统计合并查询的思路
  4. 一步一步搭建 Oracle Data Guard
  5. linux查看磁盘及文件夹大小命令
  6. 每天3分钟操作系统修炼秘籍(6):Idle进程
  7. Python-根据照片信息获取用户详细信息(微信发原图或泄露位置信息)
  8. 易优CMS:switch的基础用法
  9. Git实战指南----跟着haibiscuit学Git(第七篇)
  10. dedecmsV5.7 插入记录并返回刚插入数据的自增ID