次のプロパティを持つエンティティがあるとします。
public class Foo
{
public int Id { get; set; }
public string Name { get; set; }
public int? ParentId { get; set; }
}
子は、null 以外の ParentId を持つ任意の Foo です。親子関係にはいくつかのレベルがあり、この時点では最大 5 つです。
Foo から始めて、そのすべての子、その子の子、およびその子の子の子などを取得するための簡単な LINQ の方法または一般的な方法論はありますか?
現在、最初の親の各子をループしてから、もう一度ループしてその子のすべての子を取得するなどしています。これは面倒で、私が望むことを達成する正しい方法ではないようです。