您的位置:首页 > 编程语言 > ASP

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)
{

}
}

到此就可以运行项目得到如下效果

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐