質問: nI.Where(p => p.isRoot).ToList(); ``` しかし、それは非常にうんざりしているようです。 問題を示すコード例。特に項目6と16を見てください(子供の1つのレベルで1位、2レベルで2位)。
回答: あなたが得た結果は正しいです。すべてのnavItemをリストとして要求すると、すべてのnavItemを含むリストが取得されます。子ノードの修正は、EFがあなたにしてくれた素晴らしい「ボーナス」です。 また、データセットの代わりにインスタンス化されたリストにフィルタを直接適用することもできます。あなたがデータセットにそれを適用していれば、あなたの子ノードはポーリングされませんでした!次に、子ノードに値を設定するにはIncludesを使用する必要がありますが、それは1レベルしか得られませんが、これは十分ではないかもしれません。もちろん、複数のインクルードを追加することはできますが、 結局のところ、あなたの "奇妙な"方法は、あまりにも馬鹿ではないようです。