报表设计器对 ORM (.NET) 的支持
假设我有一个使用 ORM(我正在考虑 nHibernate 或 LINQ to Entities)进行数据访问的应用程序。 如何为我的用户提供针对对象属性进行报告的能力? 我所知道的所有最终用户报表设计者都直接与数据库对话,但我不喜欢在应用程序对象中已有的报表中重复逻辑。
有没有标准的解决方案?
我希望有一个系统使用反射(或其他方法)从我的对象中获取架构,然后让用户构建一个可以针对我提供的 IQueryable 运行的 linq 查询。
必须自己编写所有数据检索逻辑并不吸引人。 创建数据集来表示我的所有对象就更没有吸引力了。 (如果我喜欢数据集,我就不会考虑 ORM 系统)
是新的 .NET RIA 服务是解决方案的良好基础吗?
Say I have an application that used an ORM (I am thinking of nHibernate or LINQ to Entities) for data access. How do I provide my users with the ability to do reporting against the properties of my objects? All the end user report designers I know of talk directly to a database, but I don’t like having to repeat logic in reports that are already in the application’s objects.
Are there yet any standard solutions?
I am hoping for a system that use reflection (or some other method) to get the schema from my objects, then lets the user build up a linq query that can run against an IQueryable that I provide.
Having to write all the data retrieval logic myself is not appealing. Creating DataSets to represent all my objects is even less appealing. (If I liked Datasets I would not be looking at ORM systems)
Is the new .NET RIA Services a good bases for a solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您还可以查看 来自 DevExpress 的 XtraReports
XtraReports 可以从任何实现 IList、ITypedList 或 IBindingList 接口的数据源生成报告。
You may also have a look at XtraReports from DevExpress
XtraReports can generate reports from any data source that implements IList, ITypedList or IBindingList interface.
许多第 3 方报表设计器允许您从自己的数据源生成报表。 例如DataSet,IList等
似乎还没有让用户使用Ling类型查询等设计报告。
(如果有人想出更好的答案,我将删除这个答案并将更好的答案设置为预期答案。)
A lot of the 3rd party report designer let you generate reports from your own data source. E.g. DataSet, IList, etc
None of them yet seem to let users design report using Ling type queries etc.
(If anyone comes up with a better answer, I will delete this answer and set the better answer as the expected answer.)
您可以使用 SSRS 报告,但不能使用基于服务器的报告。 我认为他们称其为本地报道。
在此模式下,您向报表提供数据,而不是报表获取数据,因此从概念上讲,您将编写一个方法来将对象转换为数据集,然后将其传递到报表中。
You could use a SSRS reports but not use the server based report. I think they called them local reports.
In this mode you provide the data to the report as opposed to the report getting the data, so conceptually you would write a method to convert your objects into a dataset that would then be passed into the report.
快来看看数据动态报告。 我们允许您指定最终用户将在设计器中看到的数据集,但您可以在幕后从任意源加载数据。 事实上,我们对对象集合有特殊的数据源支持。 以下是与您所追求的内容相关的几个截屏视频:
所有其他截屏视频均位于 http://www.datadynamics.com/Products/DDRPT/#screencasts
这是"快速入门博客上的文章”(由 ActiveReports 支持团队成员撰写),展示了如何将 Linq 与 ActiveReports 结合使用。
我们的网站上还有知识库文章,该文章逐步介绍-逐步将 linq 查询绑定到 ActiveReports。
一位客户还详细写了他如何在他的应用程序中使用 ActiveReports 和来自 Linq 的数据。
Come check out Data Dynamics Reports. We allow you to specify the data set that the end users will see in the designer, but you can load the data from an arbitrary source behind the scenes. In fact we have special data source support for a collection of objects. A couple of screencasts that are relevant to what you're after are the following:
All other screencasts are at http://www.datadynamics.com/Products/DDRPT/#screencasts
Here is a "quick start article" on a blog (by an ActiveReports support team member) that shows how to use Linq with ActiveReports.
We also have a knowledge base article on our website that goes step-by-step through to bind a linq query to ActiveReports.
A customer has also written in detail how he uses ActiveReports with data from Linq in his applications here.