ABP ModuleZero 添加角色_创建角色是报错的问题解决方案
2024-10-19 01:30:35
ABP升级后,大概3.6.1以后,在.net framework里面,从官方下载的Module zero模板添加角色是出现下面错误。
这个问题,算是新版apb的一点小缺憾,好像在.net core的模板里面没问题。解决方案:
public override async Task Create(CreateRoleDto input)
{
CheckCreatePermission();
var role = ObjectMapper.Map<Role>(input);
CheckErrors(await _roleManager.CreateAsync(role));
var grantedPermissions = PermissionManager
.GetAllPermissions()
.Where(p => input.Permissions.Contains(p.Name))
.ToList();
//加上下面代码
//await CurrentUnitOfWork.SaveChangesAsync();
await UnitOfWorkManager.Current.SaveChangesAsync(); //这行是后来加的不晓得拼写错误没有,有错自己修正,反正大概是这样 await _roleManager.SetGrantedPermissionsAsync(role, grantedPermissions);
return MapToEntityDto(role);
}
报错原因:因为uow是事物提交的,虽然调用了createasync,但事物未提交,数据没有保存到数据库,后面执行分配权限获取不到改角色的id,所以报错。
貌似是因为在.net core里面,执行了XX.CreateAsync()后,如果后面的代码会用到当前实体,就会自动提交事务,但.netframework里面不行,所以在分配权限之前我们要先手动savechange。
最新文章
- Leetcode Candy
- 解决IE6下png图片透明度不显示的问题
- oracle 10g编程
- js匿名函數
- crm 4 注释与上传附件权限
- Codeforces Round #228 (Div. 2) C. Fox and Box Accumulation(贪心)
- php 数组 array_values () array_key()
- 执行startx后Ubuntupassword正确进不去的问题
- 使用windows上 mxnet 预编译版本
- HDU5475
- 关于Eclipse导入项目jsp出现红色叉的解决办法
- Apache启动不成功时,用命令行检测(新手)
- 学习用Node.js和Elasticsearch构建搜索引擎(4): 构建Elasticsearch搜索引擎
- PrintDocument打印、预览、打印机设置和打印属性的方法
- Build step &#39;Execute shell&#39; marked build as failure解决
- DokuWiki 使用
- python IDE 集合
- org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlException: Permission denied: user=Administrator, access=WRITE, inode=";hadoop";: hadoop:supergroup:rwxr-xr-x
- Oracle SQL开发 之 Select语句完整的执行顺序
- JQuery事件机制