ABP框架学习-角色创建

目的介绍

实现一个类似于abp.zero的项目。在完成项目的过程中学习ABP框架知识。

功能列表

我们对项目做功能分析。归类出下以功能功知识点。
1.角色
2.测试项目
3.用户
4.权限
5.组织
6.登陆
7.菜单
8.日志
9.错误处理
10.并发处理
11.用队列方式解决高并发请求。

功能介绍

角色功能非常的简单。主要用做权限与用户之间的桥梁。用户通过所属的角色而确定系统中拥有的权限。所以角色也就变非常简单。
直接上代码

数据模型

public class SysRole : DbSetBase
    {
        public SysRole()
        {
            SystemId = "000";
        }

        [MaxLength(50)]
        [Required]
        public string RoleName { get; set; }

        [MaxLength(50)]
        [Required]
        public string SystemId { get; set; }
    }

DbSetBase[^1]是所呢数据模型的基类。

业务服务层

定义业务层接口

namespace Bxh.Application.SysApp
{
	public interface ISysRoleAppService : IAppServiceBase<SysRoleDto, Guid, PageListInput, UpdateSysRoleDto, UpdateSysRoleDto>
    {
        
    }
}

定义业务层 实现类

namespace Bxh.Application.SysApp
{
	public class SysRoleAppService : AppServiceBase<SysRole, SysRoleDto, Guid, PageListInput, UpdateSysRoleDto, UpdateSysRoleDto>, 
		ISysRoleAppService
    {
        public SysRoleAppService(
				IRepository<SysRole, Guid> repository
            )
            : base(repository)
        {
		    
        }

    }
}

数据映射 DTO 层
列表展示映射

namespace Bxh.Application.SysApp.Dto
{
	[AutoMapFrom(typeof(SysRole)), AutoMapTo(typeof(SysRole))]
	public class SysRoleDto : EntityBaseDto
	{
		public string RoleName {get; set;}
		
		public string SystemId {get; set;}
		
		//public List<SysRoleSysUser> SysRoleSysUsers {get; set;}
		
    }
}

修改新增映射

namespace Bxh.Application.SysApp.Dto
{
	[AutoMapFrom(typeof(SysRole)), AutoMapTo(typeof(SysRole))]
	public class UpdateSysRoleDto : EntityBaseDto
	{
		public string RoleName {get; set;}
		
		public string SystemId {get; set;}
		
		//public List<SysRoleSysUser> SysRoleSysUsers {get; set;}
		
    }
}

实现起来也非常的方便,基本上只是跟据模板建好相应的类的行了,可以通过类式于T4之类的模板生成工具跟据Model自行就行了。

下面是自已对业务层实现数据操作调用说明。
当 调用业务层方法时(如Create方法)。调用AsyncCrudAppServicer 先将UpdateSysRoleDto能过AutoMap转成SysRole类.最后通过调用EF完成数据库操作。
下面是ABP项目组构图
ABP组构图
ABP组构图
角色创建这样就完成了,下面一章实现测试项目的创建及角色服务的测试。
注:因为前端界面还没有确定,所以功能都不设置到界面实现。界面实现以后面再统一完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值