首页 > Windows开发 > 详细

c# 深度遍历节点并删除

时间:2019-01-03 16:26:49      阅读:219      评论:0      收藏:0      [点我收藏+]
 1         public async Task DeleteModule(EntityDto input)
 2         {
 3             var id = input.Id;
 4             var children = await FindChildrenAsync(id);
 5 
 6             await DeleteAsync(children);
 7             
 8             await _repository.DeleteAsync(id);
 9         }
10         /// <summary>
11         /// 删除操作
12         /// </summary>
13         /// <param name="children"></param>
14         /// <returns></returns>
15         public async Task DeleteAsync(List<Module> children)
16         {
17             foreach (var child in children)
18             {
19                 var node = await FindChildrenAsync(child.Id);
20                 if (node.Count > 0)
21                     await DeleteAsync(node);
22                 await _repository.DeleteAsync(child);
23             }
24             
25         }
26         /// <summary>
27         /// 查找子节点
28         /// </summary>
29         /// <param name="parentId"></param>
30         /// <returns></returns>
31         public async Task<List<Module>> FindChildrenAsync(int? parentId)
32         {
33             return await _repository.GetAllListAsync(p => p.ParentId == parentId);
34         }

 

c# 深度遍历节点并删除

原文:https://www.cnblogs.com/cxyzhangjie/p/10214571.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!