データベースに次のようなメニュー項目のリストがあります。
ID ParentID ItemOrder Name
-------------------------------------------------------
1 null 1 Main_1
2 null 2 Main_2
3 null 3 Main_3
4 null 4 Main_4
5 null 5 Main_5
6 1 4 SubMenu_1.4
7 1 5 SubMenu_1.5
8 1 8 SubMenu_1.8
9 2 1 SubMenu_2.1
10 3 1 SubMenu_3.1
11 3 2 SubMenu_3.2
12 3 4 SubMenu_3.4
Submenu ItemOrder
必ずしも 1 から始まるとは限らず、3 から始まる場合もあり、次のメニュー項目の順序は 7 などになる場合があります。
すべての親 (ゼロ レベル) メニュー項目と最初の子 (存在する場合) を返す linq クエリまたはラムダ式を作成する方法は?
期待される結果:
ID ParentID ItemOrder Name
-------------------------------------------------
1 null 1 Main_1
2 null 2 Main_2
3 null 3 Main_3
4 null 4 Main_4
5 null 5 Main_5
6 1 4 SubMenu_1.4
9 2 1 SubMenu_2.1
10 3 1 SubMenu_3.1