文章目录
前言
Abp vNext可以让开发人员集中关注业务部分,可以显著提高开发效率。还可以借助第三方生成代码工具,比如:AbpHelper,我用 AbpHelper.GUI 1.4.0 版本。
提示:以下是本篇文章正文内容,下面案例可供参考
一、AbpHelper简介
Abp vNext 开发时很大一部分工作在于创建领域实体、仓储、DTO、权限等等。这些工作简单重复,那还是交给自动生成代码去处理吧,让心情放飞一下。如果是刚接触Abp vNext,个人建议,还是先手动写一些代码,熟练后,再使用自动生成代码工具。
二、AbpHelper使用
1.创建CarType实体类
FloorScale.Domain 项目,如添加实体类 CarType
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace FloorScale.Base.CarTypes
{
/// <summary>
/// 车辆类型
/// </summary>
public class CarType : FullAuditedAggregateRoot<Guid>, IMultiTenant
{
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 编码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 状态
/// </summary>
public bool Status { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Orders { get; set; }
public Guid? TenantId { get; set; }
protected CarType()
{
}
public CarType(
Guid id,
string name,
string code,
bool status,
string remark,
int orders,
Guid? tenantId
) : base(id)
{
Name = name;
Code = code;
Status = status;
Remark = remark;
Orders = orders;
TenantId = tenantId;
}
}
}
2.AbpHelper打开解决方案
3.为CarType实体类生成代码
输入实体名称,保存后,会自动生成代码。
系统生成代码大体如下:
FloorScale.Domain项目:
ICarTypeRepository.cs // 仓储接口
FloorScale.Domain.Shared项目:
Localization/*.json // 国际语言文本
FloorScale.EntityFrameworkCore项目:
CarTypeRepository.cs // 仓储实现
FloorScaleDbContext.cs // DbSet
FloorScale.Application.Contracts项目:
CarTypes/Dtos/* // 接口实体类
Permissions/* // 权限方面
FloorScale.Application项目:
CarTypeAppService.cs // 业务实现接口
其他的代码已上传至 gitee 。
Abp项目依赖关系、Saas管理、角色管理、系统设置、特性设置等等,建议还是到Abp官网去查阅,那里全面。
4. 实现更新到数据库
4.1 FloorScale.Web设置为启动项目
4.2 启动nuget
添加实体迁移
add-migration "AddCarType"
实体迁移到数据库
update-database
浏览接口
这些业务接口是Abp vNext自带的,后续是需要根据自身业务进行重写。
总结
这里以介绍项目实现业务为主,用Abp vNext有哪些好或不好的地方,因项目而已。越努力,越幸运。
下一章着重讲解 FloorScale.Application 项目的代码实现。欢迎交流 QQ:1206910050。