Csharp/C#教程:禁用SoftDelete for AbpUserRole分享


禁用SoftDelete for AbpUserRole

默认情况下, AbpUserRoleAbpRole实现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

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐