我增加了我的模型預生成的觀點如下所述:實體框架預產生意見
http://blogs.msdn.com/b/adonet/archive/2008/06/20/how-to-use-a-t4-template-for-view-generation.aspx
一切似乎都在編譯和代碼生成方面是工作,但我不是確定EF是否實際上使用了我預先生成的視圖,因爲第一個ObjectQuery仍然需要3-4秒才能執行(甚至在生成SQL之前)。
如何確定EF正在使用預生成視圖?
我增加了我的模型預生成的觀點如下所述:實體框架預產生意見
http://blogs.msdn.com/b/adonet/archive/2008/06/20/how-to-use-a-t4-template-for-view-generation.aspx
一切似乎都在編譯和代碼生成方面是工作,但我不是確定EF是否實際上使用了我預先生成的視圖,因爲第一個ObjectQuery仍然需要3-4秒才能執行(甚至在生成SQL之前)。
如何確定EF正在使用預生成視圖?
我有同樣的問題,但我得到了這麼多:你可以在生成的視圖類的構造函數中設置一個斷點。它會被擊中。您還可以在其中一個GetViewx()方法中設置斷點。當你查詢相應的表時,它會被擊中。
我使用的POCO在另一個項目/程序集中,而不是生成的上下文。生成的視圖與上下文位於同一個程序集中。首先,儘管它沒有受到任何影響,所以我正在尋找並尋找一種方法來連接它們。我得到的最好的是使用ObjectContext.MetadataWorkspace.LoadFromAssembly(...)方法。但即使我沒有明確地連接程序集時,斷點仍然會被打開(我剛剛發現了這一點)。
我真的100%確定使用了生成的視圖嗎?不,因爲我還有一個相當小的模型有點延遲。但相當確定?是的,盡我所能看到的。
有趣的是,我使用EF 5並遇到與您相同的問題。差異是對我來說我必須使用ObjectContext.MetadataWorkspace.LoadFromAssembly(...)方法來獲取它在視圖類中的斷點,當我省略明確的接線,他們不會被調用,並且我驗證了這一點在DotTrace中。不知道這是一個錯誤還是什麼。 – 2012-12-01 06:49:13
對我來說也是同樣的問題,但對於預先生成的視圖,它會變得更慢,平均每10次測量就會減少200ms。 – 2015-06-22 14:03:32