我有以下场景:我需要显示与特定部分相关的所有传输的列表,这些传输可以追溯到一段时间。转账将有一个“发件人”帐户和一个“收件人”帐户以及一个部分 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 查询来做到这一点,或者我必须在一个循环中进行多次调用?