1

コードは次のとおりです。

public IEnumerable<SomeItem> DescendantsAndSelf()
{
    yield return this;
    foreach (var item in Children.SelectMany(x => x.DescendantsAndSelf())
    {
        yield return item;
    }
}

ここからこのコードを取得しました: https://stackoverflow.com/a/4814278/184773

これは再帰的な linq クエリです。これを実装したいのですが、サーバーがダウンするのではないかと心配しています。これがサーバーへの複数の実行トリップを実行するかどうか知っていますか?

4

1 に答える 1

2

呼び出しを 1 回だけ行いたい場合は、再帰 CTEを使用して SQL で再帰クエリを実装し、それを LINQ から呼び出すことができるストアド プロシージャとしてアプリケーションに公開できます。

于 2012-08-01T16:55:01.973 に答える