にLINQを使用して親の未知の量を取得します。次を考えるとSQL
public class Person
{
public int PersonId { get; set; }
public int? ParentId { get; set; }
}
は、私は次のツリー構造(PERSONID - のParentID)を持っていると仮定します。
1 - null
2 - 1
3 - 2
4 - 1
は、どのように私はすべての親を取得することができますPersonIDの3
、または2,1
のLINQ to SQLクエリを使用していますか?
注:null
ParentIdはあなたがループ(または再帰の他のフォームを)必要があります、トップレベルの人
再帰のようなサウンド。あなたはSqlの土地でCTEを使ってそのようなことをしますが、それはLinq2Sqlにとっては複雑すぎると思います。 procを作りたいかもしれない。 – Tejs
[階層問題 - >再帰をLinq結合で置き換えますか?](http://stackoverflow.com/questions/1435229/hierarchy-problem-replace-reursion-with-linq-join) – ChrisF
@Chris:それは異なる種類の問題。これは階層の子孫を検索しますが、これは先祖を検索します。 –