0

注意:我没有尝试使用 L2SQL 数据上下文调用 SQL Server 存储过程。

我将 LINQPad 用于一些相当复杂的“报告”,它将 L2SQL 输出保存到一个数组并进一步处理。

例如,使用 LINQ to Objects 进行多级分组通常要容易得多,而不是尝试优化 T-SQL 查询以在合理的时间内运行。

获取这些“应用程序”之一的最终结果并在 SQL Server 2008 存储过程中使用它的最简单方法是什么?

这个想法是将数据用于 Reporting Services 报告,而不是复制并粘贴到 Excel(人工)中。报表需要可在报表服务器上访问(而不是在应用程序中使用报表服务器控件)。

我可以输出 CSV 并通过命令行 exec 以某种方式读取它,但这似乎是一个 hack。谢谢你的帮助。

4

2 回答 2

2

有两种可能性,都需要您使用“原始”ADO.NET:

  1. 使用SqlBulkCopy类将数据插入临时表(可能是临时表)并编写存储过程以从该表中读取;或者

  2. 将数据写入DataSetDataTable并使用表值参数将其传递到存储过程。

第二种方法比第一种方法“更干净”,但如果您有大量数据(超过数百行),则表现不佳。

于 2010-06-03T20:55:53.430 回答
0

SQL Server 2005 及更高版本允许您在 .NET 中编写存储过程。这样您就可以在报告中使用 LINQ。

正式名称是“CLR 存储过程”。 是一个很好的介绍。

于 2010-06-03T20:55:41.997 回答