我有一个 SQL Server 2005 查询,它生成一个大型结果集(最多几 GB):
SELECT * FROM Product FOR XML PATH('Product')
运行查询会生成一个包含包含许多产品元素的文档的单行:
Row 1:
<Product>
<Name>Product One</Name>
<Price>10.00</Price>
</Product>
<Product>
<Name>Product Two</Name>
<Price>20.00</Price>
</Product>
...
我想更改查询,以便它返回多行,而不是一行包含具有多个产品元素的单个文档的结果集,每个行都有一个包含单个产品元素的文档:
Row 1:
<Product>
<Name>Product One</Name>
<Price>10.00</Price>
</Product>
Row 2:
<Product>
<Name>Product Two</Name>
<Price>20.00</Price>
</Product>
最后,我想在没有 SQL Server 或我的应用程序将整个结果集加载到内存的情况下使用 IDataReader 从 C# 使用此查询。我可以对 SQL 进行任何更改以启用此方案吗?