2013-09-20 76 views
2

我剛開始使用EF 6,我發現第一次執行需要更多時間,因爲它需要編譯,所以我研究並發現可以預先生成視圖。組裝實體框架預生成視圖

我用EF電動工具,產生的觀點:http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/

這是一個DLL,我使用的輸出組件嵌入的選項建設。

問題是,即使我執行第一個查詢時,我有view.cs我有相同的延遲,所以它似乎是我的庫不使用預生成的視圖。

什麼可能是錯的?我使用EntityConnectionStringBuilder將連接傳遞給實體,並返回一個EntityConnection對象。

此外,我試圖改變view.cs到嵌入式資源,因爲與編譯我沒有任何改變,在這兩種方式,我仍然有第一次延遲。

我確定我錯過了一些東西,但不知道是什麼。

在此先感謝, 盧卡斯。

回答

1

EF5視圖不適用於EF6(此外,EF6 Beta 1和EF6 RC1有一些問題妨礙了使用EF6視圖 - 這些問題應該針對EF6 RTM進行修復)。我創建了一個用於生成EF6視圖的T4模板 - 您可以找到更多詳細信息here - 同樣由於上述問題,模板生成的視圖不適用於EF6 RC1。如果您絕對認爲您需要它,您可以嘗試使用我的github版本 - 它已更新爲與EF6 RTM一起使用,並且還適用於夜間版本。無論如何,我非常肯定,這實際上並不是視圖生成導致的問題(實際上EF6視圖生成的性能已經大大提高)。我們最近發現了一些影響啓動時間的性能問題(請參閱16741662),我們正在研究這些問題。

編輯

與EF6 RTM(6.0.0.0,6.0.1.0)的作品模板的版本已經發布到VS Gallery

+0

我使用模型的第一(EDMX) - - 是否也存在T4模板? – springy76

+0

EF4/EF5只有一個 - http://visualstudiogallery.msdn.microsoft.com/a0aef503-f2b8-45ee-8770-1512ee7ee8ab。我還沒有爲EF6創建一個,但你應該能夠使用EF Power Tools,它可以爲基於EF6 Edmx的應用程序生成視圖。 – Pawel

+0

EF Power Tools(Beta 4)似乎無法與自定義提供程序一起工作(一切正常:RunTime和Designer,但「生成視圖」失敗) – springy76