2013-02-18 65 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