使用实体框架作为SSRS数据源(.rdl文件)

时间:2015-01-21 12:23:59

标签: c# entity-framework reporting-services

我有100个.rdl个文件驻留在我的报表服务器&所有报告都在每个报告中使用共享数据源和嵌入数据集。我正在使用存储过程来查询db。这一切都很好。使用.rdl文件时遇到一些问题。

  1. 无法逐个上传.rdl个文件&为每个上传的.rdl文件指定数据源。
  2. 此外,计划使用Web应用程序EDMX作为所有报告的数据源。这样,我可以使用任何数据库服务器连接到我的数据与实体框架,而无需更改太多的代码更改。因为,在我的情况下,存储过程不可行。

    我需要知道处理上述2个场景的最佳方法是什么。如果您对此有一些了解,请指导我继续前进。我将非常感激。

1 个答案:

答案 0 :(得分:1)

  1. 您可以使用SetItemDataSources Web服务方法以编程方式更改SSRS服务器上报告的数据源。
  2. 您可以使用XML Connection Type从XML Web服务(如OData)而不是直接从SQL服务器获取报告数据。这种方法有局限性(E.x。:它不支持'DataSet Properties'窗口中的'Refresh Fields')。更好的选择是创建自己的Data Processing Extensions,在其中创建IDbCommand / IDataReader以连接到EDMX并检索数据。这允许您将SSRS与后端分离(例如:如果要将数据作为JSON传输,则可以在自定义数据处理扩展中执行此操作,因为 XML连接类型不支持