ネストされたコレクションのノードを取得する必要があります。これは linq の深いところにあります。
これはネストされたクラスです:
public class Group
{
public int Id { get; set; }
public string Description { get; set; }
public int ParentId { get; set; }
public List<Group> Groups { get; set; }
}
このクラスの各インスタンスは、Groups メソッド内などに複数のインスタンスを持つことができます。各インスタンスは、ParentId プロパティを介してリンクされています。
Group クラスのインスタンスを使用して、彼の父親を取得する必要があります。私はこれで試しました:
var parent = _repositoryGroups
.Where(g => g.Id == [my Group instance].ParentId)
.SelectMany(g => g.Groups)
.FirstOrDefault()
理由はわかりませんが、常に親インスタンスが見つかるとは限らず、第 2 レベルから検索を開始します (ただし、これは実際の問題ではありません)。
このネストされたクラスのすべての深さから要素を見つける最良の方法は何ですか?
ありがとう