メソッドの1つがアイテムのリストを返し、それぞれが別のアイテムのリストを持っているWebサービスがあります。
<TopLevelItems>
<TopLevelItem field1="a" field2="b" ...>
<LowLevelItem fieldA="1" fieldB="2" .../>
<LowLevelItem fieldA="3" fieldB="4" .../>
</TopLevelItem>
</TopLevelItems>
これらのリストは、単純なクエリを使用して SQL Server データベースから取得されます ( と の両方がデータベース内の関連テーブルに対応します) TopLevelItem
。LowLevelItem
これまで、このすべてのデータを取得するには、2 つのクエリが必要でした。もう 1 つは、トップ レベルのアイテムごとに 1 回実行される、低レベルのアイテムを取得するためのものです。
ただし、これは非常に効率が悪いようです。必要なすべてのクエリを実行し、結果を階層データ構造として取得する単一のストアド プロシージャを定義したいと考えています。出来ますか?もしそうなら、どのように?