Report for Designer支持ORM(.NET)

时间:2009-03-25 14:21:21

标签: .net nhibernate entity-framework orm reporting

假设我有一个使用ORM(我正在考虑使用nHibernate或LINQ to Entities)进行数据访问的应用程序。如何为我的用户提供针对对象属性进行报告的功能?我所知道的所有最终用户报表设计者都直接与数据库对话,但我不喜欢在已经存在于应用程序对象中的报表中重复逻辑。

还有标准的解决方案吗?

我希望系统使用反射(或其他方法)从我的对象中获取模式,然后让用户构建一个linq查询,该查询可以针对我提供的IQueryable运行。

我自己编写所有数据检索逻辑并不吸引人。创建DataSet以表示我的所有对象更具吸引力。 (如果我喜欢数据集,我不会看ORM系统)

新的.NET RIA Services是解决方案的良好基础吗?

4 个答案:

答案 0 :(得分:2)

您还可以查看XtraReports from DevExpress

XtraReports可以从任何实现IList,ITypedList或IBindingList接口的数据源生成报告。

答案 1 :(得分:1)

许多第三方报表设计器允许您从自己的数据源生成报表。例如。 DataSet,IList等

它们似乎都没有让用户使用Ling类型查询等设计报告。

(如果有人想出更好的答案,我会删除这个答案,并将更好的答案设为预期的答案。)

答案 2 :(得分:0)

您可以使用SSRS报告,但不能使用基于服务器的报告。我认为他们称他们为当地报道。

在此模式下,您将数据提供给报表而不是获取数据的报表,因此从概念上讲,您可以编写一种方法将对象转换为数据集,然后将其传递到报表中。

答案 3 :(得分:-1)

请查看数据动态报告。我们允许您指定最终用户将在设计器中看到的数据集,但您可以在后台从任意源加载数据。实际上,我们对一组对象有特殊的数据源支持。与您所关注的内容相关的几个截屏视频如下:

  • UserDesignerControl.LocateDataSource & Xml Data Provider Additions:这实际上是以XML为中心的演练,但请注意他们如何使用LocateDataSource按需提供数据,用户可以查看一个简单的数据集,因为开发人员可以完全控制。由于我们有一个ObjectDataSource用于绑定到对象集合,因此您可以轻松地将此相同的场景应用于绑定到对象。
  • Field Selector in Designer for End Users:此图显示了设计师中的一些字段选择器功能,最终用户可以使用这些功能来选择字段。

所有其他截屏视频均为http://www.datadynamics.com/Products/DDRPT/#screencasts

这是"quick start article" on a blog (by an ActiveReports support team member) that shows how to use Linq with ActiveReports

我们还有a knowledge base article on our website逐步将linq查询绑定到ActiveReports。

A customer has also written in detail how he uses ActiveReports with data from Linq in his applications here

Scott Willeke
Data Dynamics / GrapeCity