【发布时间】:2019-02-20 14:39:02
【问题描述】:
我有映射为父子关系的对象列表。
所以父母有很多孩子,孙子和曾孙等等。
我的结构表如下
UserId UserNme
1 Jack
2 William
3 asha
4 winston
ParentId ChildId
2 3
3 4
所以我想按以下分层方式列出用户:
->用户不是孩子(父母/非父母)
----> 子用户
-------->孙子用户
-----------> 曾孙子用户
我试过下面的代码,但没有完成:
public List<MarketingUserDto> GetChildAgents(List<MarketingUserDto> agents,List<MarketingUserDto> resultAgents)
{
if (agents.Count == 0)
{
var parentagents = _userRegistrationRepository.GetMany(x => ((x.IsParentAgent ?? false) == true && x.UserTypeId == (short)Enums.UserTypes.Agent) || (x.UserTypeId == (short)Enums.UserTypes.Super_Manager && (x.IsParentAgent ?? false) == false));
this.GetChildAgents(Mapper.Map<List<UserRegistration>, List<MarketingUserDto>>(parentagents.ToList()), resultAgents);
}
else
{
foreach (var agent in agents)
{
var childagents = _agentMappingRepository.GetMany(x => x.ParentId == agent.UserId, y => y.UserRegistration);
}
}
return resultAgents;
}
您能否提供任何建议如何实现这一目标?
【问题讨论】:
-
所以你希望它在一个单数列表中变平?
-
不能靠近数据源吗?