2013-02-18 35 views
1

我已经下载了Telerik Reporting的最新(v6.2)试用版本,但无法弄清楚如何将它与我的实体框架模型挂钩。Telerik Reporting和EF5 DbContext

我向设计者添加了EntityDataSource,但这需要typeof(ObjectContext),我没有。

看看Telerik网站上的示例代码,看起来我可能能够在运行时从DbContext转换为ObjectContext,但这不(我可以看到)使我能够在设计时构建报表。

Telerik - EntityDataSource Component

是否有可能得到Telerik报告与实体框架5个工作?

回答

2

我最终得到了这对Telerik的论坛

彼得嗨,

的EntityDataSource的组分是指仅结合ObjectContext的(所以它是与老.NET 3.5版本实体的兼容框架),它不直接支持DbContext。在这种情况下,你有两种选择。第一个也是最好的一个是使用ObjectDataSource,因为您已经在使用POCO,而且这将非常简单。第二个是从DbContext包装器中提取ObjectContext。它并不像使用属性那么简单,但如果坚持使用EntityDataSource可能会很有价值。在EF 4.1 DbContext文章的访问ObjectContext Features中可以找到更多信息。

我们将在后续版本的产品中考虑DbContext支持(很可能一旦我们放弃对旧版.NET Framework的支持)。

亲切的问候, 史蒂夫 的Telerik的团队

多的反复试验后,我得到了ObjectDataSource控件与我的EF波苏斯工作,但无法得到任何屏幕上。然后,我偶然发现了一个视频,显示将该报告的属性设置为ObjectDataSource,并且瞧!

但是,然后ICollection<Related>实体不会解决。也许我可以通过更多的试验和错误来使它工作,但官方论坛没有响应,因为这个主题就是这样。

没有足够的示例,并且明确构建为仅与旧版本的框架无缝配合。


更新

我刚刚完成的pluralsight course on Telerik Fundamentals,这是相当简单的使用实体框架与Telerik报告,不直接与的DbContext,但与换到EF调用特定对象,返回课程/ IEnumerables等

好的课程。对我来说,它将Telerik报告从一个神秘变为简单。讨价还价。

+1

但是EF已经有了'wrap'调用的对象。他们是DbSet对象。 – ProfK 2013-05-31 09:09:28

+0

@ProfK是的,但是'DbSet'不包含'DbContext'的创建和管理,所以你需要自己处理。如果您使用ObjectContext,您可以将报告直接绑定到上下文对象,Telerik将为您处理其余的内容。 – qujck 2013-05-31 09:28:26

1

似乎现在支持DbContext,所以不需要ObjectContext生成器也不需要使用Telerik Reporting与EF 5(可能还有EF 6 beta,尽管我还没有测试过)。

+0

尝试绑定到EF上下文时出现此错误:数据直接绑定到存储查询(DbSet,DbQuery,DbSqlQuery)不受支持。而是用数据填充DbSet,例如通过在DbSet上调用Load,然后绑定到本地数据。对于WPF绑定到DbSet.Local。对于WinForms绑定到DbSet.Local.ToBindingList()。 – qujck 2013-07-29 10:54:57