禁用SoftDelete for AbpUserRole
默认情况下, AbpUserRole
和AbpRole
实现ISoftDelete
。 可以禁用它吗?
我试着这样做:
[AbpAuthorize(AppPermissions.Pages_Administration_Roles_Delete)] public async Task DeleteRole(EntityDto input) { using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.SoftDelete)) { var role = await _roleManager.GetRoleByIdAsync(input.Id); var users = await UserManager.GetUsersInRoleAsync(role.Name); foreach (var user in users) { CheckErrors(await UserManager.RemoveFromRoleAsync(user, role.Name)); } CheckErrors(await _roleManager.DeleteAsync(role)); } }
虽然在当前工作单元中禁用了filter,但它不起作用。 该实体标记为已删除。
本主题的回答: https ://forum.aspnetboilerplate.com/viewtopic.php?p = 6180#p6193
数据filter用于选择数据。 如果您的实体是SoftDelete,ABP始终软删除它并阻止实际删除。
您可以在DbContext中覆盖CancelDeletionForSoftDelete方法,并有条件地防止取消。
所以,像这样:
上述就是C#学习教程:禁用SoftDelete for AbpUserRole分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
protected override void CancelDeletionForSoftDelete(EntityEntry entry) { if (IsSoftDeleteFilterEnabled) { base.CancelDeletionForSoftDelete(entry); } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1009036.html