在linq中递归构建层次结构

时间:2013-10-30 20:15:42

标签: c# linq recursion

我有以下情况:我需要显示与特定部分相关的所有传输的列表。转账将包含“来自”帐户和“到”帐户以及部分ID。我提供了部件ID和帐户ID来表示层次结构的顶部。我想递归迭代向后迭代匹配另一个转移的“从”帐户ID到“到”帐户ID。例如:

鉴于PartID 123和AccountID a1,我返回:

  • Transfer1(PartID 123,ToAccountID a1,FromAccountID a2)
  • Transfer2(PartID 123,ToAccountID a2,FromAccountID a3)
  • Transfer3(PartID 123,ToAccountID a3,FromAccountID a4)
  • Transfer4(PartID 123,ToAccountID a3,FromAccountID a5)

问题在于可以使用相同的ToAccountID和不同的FromAccountID进行多次转移。

我可以使用CTE在SQL中轻松完成此操作,但现在不能选择。有没有办法用单个Linq查询执行此操作,还是我必须在循环中进行多次调用?

0 个答案:

没有答案