我有一个现有的ASP.Net MVC项目,它在一个单独的项目中使用实体/存储库。我需要通过SSRS为这个项目添加报告功能,我想知道处理数据访问的最佳方法是什么。
由于我已经实现了migrator.net和存储库数据层,我觉得直接使用数据库并创建依赖于db的sql是不可能的。我的第一个想法是在我的web项目中创建一个Web服务并使用它,但这需要我编写新代码并维护一个我目前不需要的任何其他Web服务。
我的下一个想法是使用我的数据汇编并利用代码中的现有存储库来填充报表。这可能吗?我是整个堆栈的新手,并不熟悉任何工具。
这是如何实现的?在以前的Java EE项目中,我们总是使用CXF并为我们的报告工具创建Web服务,但我从未觉得这是最好的解决方案。这通常是如何在.Net / SSRS中解决的?
答案 0 :(得分:4)
您可以使用报告中的自定义托管代码程序集。 This link和this link会让您入门。我应该指出,这不是一项微不足道的任务,并且可能有很多事情妨碍实现这一目标。
说实话,我认为你在寻求实现这种建筑天堂时要求一大堆痛苦。它可能会觉得很脏,但是如果你只是设置一个指向你的数据库的数据源并让你的报告使用它,事情会简单得多(我提到你也可以考虑在数据库中使用托管代码SQLCLR程序集吗?我提到了吗?他们也可能难以实施?)。
让SSRS做它最擅长的事情 - 转到数据库并处理数据并呈现它。你可以让它使用存储过程。您可以在报告中使用自定义代码。您可以在网页中显示报告,也可以通过web / pdf / doc / xls等单独生成报告,甚至可以通过电子邮件发送报告。只是不要试图将它变成特定的建筑模型而不是真正的设计 - 你需要圣徒的耐心去实现它。