ABP实践(3)-ASP.NET Core 2.x版本(从创建实体到输出api)简单实现商品列表及增删改
2019-04-29 23:20
1176 查看
项目基于前两篇文章.
本章创建一个简单版的商品管理后台api,用到EF Core用code fist迁移数据创建数据库.
创建Goods实体
在领域层xxx.Core项目[新建文件夹Goods;文件夹名称和类名称一样后面引用的时候需要Goods.Goods,所以建议文件夹名称最好是不要与类同名]在文件夹下创建Goods.cs实体类
[AutoMapFrom(typeof(Goods))] public class GoodsDto : AuditedEntityDto<Guid> { /// <summary> /// 商品名称 /// </summary> public string GoodsName { get; set; } /// <summary> /// 价格 /// </summary> public decimal Price { get; set; } /// <summary> /// 描述 /// </summary> public string Describe { get; set; } /// <summary> /// 剩余数量 /// </summary> public int SurplusQty { get; set; } }View Code
[AutoMapFrom(typeof(Goods))]用来创建从
Goods类到
GoodsDto的AutoMapper映射.使用这种方法.你可以将
Goods对象自动转换成
GoodsDto对象
②添加
CreateUpdateBookDto用于在创建或更新
[AutoMapFrom(typeof(Goods))] public class CreateUpdateGoodsDto : AuditedEntityDto<Guid> { /// <summary> /// 商品名称 /// </summary> [Required] [StringLength(100)] public string GoodsName { get; set; } /// <summary> /// 价格 /// </summary> public decimal Price { get; set; } /// <summary> /// 描述 /// </summary> public string Describe { get; set; } /// <summary> /// 剩余数量 /// </summary> public int SurplusQty { get; set; } = 999; }
③在应用服务层的Goods文件夹下创建接口
IGoodsAppService.cs
public interface IGoodsAppService : IAsyncCrudAppService< //定义了基础的 CRUD方法:GetAsync, GetListAsync, CreateAsync, UpdateAsync 和 DeleteAsync.如果不需要扩展它,你可以继承空的IApplicationService接口定义你自己的方法 GoodsDto, //展示商品 Guid, //Goods实体的主键 PagedAndSortedResultRequestDto, //获取商品的时候用于分页和排序 CreateUpdateGoodsDto, //创建 CreateUpdateGoodsDto> //更新 { }
④在应用服务层的Goods文件夹下创建商品服务类
GoodsAppService.cs
public class GoodsAppService : AsyncCrudAppService<Goods, GoodsDto, Guid, PagedAndSortedResultRequestDto, CreateUpdateGoodsDto, CreateUpdateGoodsDto>, IGoodsAppService { public GoodsAppService(IRepository<Goods, Guid> repository)//注入IRepository自动为Goods创建仓储 : base(repository) { } }
到此就可以运行项目得到如下效果
相关文章推荐
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现
- ASP.NET Core WebApi中简单像素转换跟踪实现
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建输出验证码图片的控制器
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建输出验证码图片的控制器
- ASP.NET菜鸟之路之实现新闻列表增删改
- asp.net core 实现一个简单的仓储
- ASP.NET Core Web API下事件驱动型架构的实现(四):CQRS架构中聚合与聚合根的实现
- 通过ASP.NET Web API + JQuery创建一个简单的Web应用
- ASP.Net Core WebApi几种版本控制对比
- asp.net core 实现一个简单的仓储
- Asp.net中创建程序集以及一个简单的IHttpHandler 实现
- ASP.NET Core Web API下事件驱动型架构的实现(四):CQRS架构中聚合与聚合根的实现
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 用ASP.NET实现简单的超市管理系统-商品主页面
- ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)
- 【转】ASP.NET Core API 版本控制
- asp.net core 实现一个简单的仓储
- asp.net core 实现一个简单的仓储的方法
- Hangfire在ASP.NET CORE中的简单实现