2008-12-01 57 views
1

我使用實體框架下面Linq查詢一個問題:Asp.net實體框架和生成的SQL問題

from o in ctx.Entity 
where o.EntityID = entityid 
select o; 

夠簡單了吧?那麼'實體'集合是其他許多類的父類。爲這個簡單的查詢生成的SQL大約有20K價值的字符與'案件'和'聯合'。除了需要一段時間來編譯查詢框架,還需要一段時間才能執行。

那麼如何在使用具有遺產的類進行查詢的情況下提高框架生成的SQL呢?或者我可以使用其他什麼技術來避免這個問題?

AD

回答

1

它之所以做是因爲實體與數據庫中的其他表的關係。爲了減少這一點,你需要了解如何更好地控制引用的明確/延遲加載的是EF是做閱讀爲你

http://blogs.msdn.com/jkowalski/archive/2008/05/12/transparent-lazy-loading-for-entity-framework-part-1.aspx

這樣沒有職位將是不完整的NHibernate的插件,這是更強大/強大/性能/和更容易使用;-)但希望該鏈接將幫助你

+0

theres那個非單詞「性能」再次......這裏的一切是正確的,雖然如此+1。 – StingyJack 2008-12-01 18:33:56