0

次のシナリオがあります: 特定のパーツに関連付けられたすべての転送のリストを時間を遡って表示する必要があります。転送には、「送信元」アカウントと「送信先」アカウント、およびパーツ 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 クエリでこれを行う方法はありますか、それともループで複数の呼び出しを行う必要がありますか?

4

0 に答える 0