2014-01-06 103 views
1

我有一個問題,我解決不了,LINQ非常緩慢使得.toList()

我做一個簡單的查詢在LINQ時:

List<MOV> mvs = (from x in new MyAppDataContextSingleton().DataContext.MOV 
            where x.dateMOV.GetValueOrDefault(x.dateCriation).Date >= initialDate.Date && x.dateMOV.GetValueOrDefault(x.dateCriation).Date <= finalDATE.Date 
            orderby x.dateMOV 
            select x).ToList(); 

執行這個查詢直接SQL非常快,它只返回約20個結果! 當我在使用LINQ的項目上執行此查詢時,會花費20秒以上的時間非常緩慢:\但此問題僅在對此表執行查詢時發生。想知道發生了什麼?我該如何解決它?

最好的問候, 安德烈

+2

什麼是您的MOV對象是什麼樣子?你檢查過這個linq查詢產生的實際SQL嗎? – Geoff

+1

我會檢查並看看有多少時間GetValueOrDefault正在使用,因爲它被稱爲MOV中的每個項目兩次MOV – PhillyNJ

+0

傑夫,是的,如果我在管理工作室運行生成的SQL它運行速度快.. –

回答