我有一个 Web 服务,其中一个方法返回一个项目列表,每个项目都拥有另一个项目列表:
<TopLevelItems>
<TopLevelItem field1="a" field2="b" ...>
<LowLevelItem fieldA="1" fieldB="2" .../>
<LowLevelItem fieldA="3" fieldB="4" .../>
</TopLevelItem>
</TopLevelItems>
这些列表是使用简单查询从 SQL Server 数据库中检索出来的(两者都TopLevelItem
对应LowLevelItem
于数据库中的相关表)。
到目前为止,要检索所有这些数据,我需要两个查询:一个是检索顶级项目,它执行一次;另一个是检索顶级项目。另一个用于检索低级项目,每个顶级项目执行一次。
然而,这似乎是非常低效的。我想定义一个存储过程来执行所有必要的查询并将结果作为分层数据结构检索。是否可以?如果是这样,怎么做?