我正在使用EF6並使用投影進行查詢。我從代碼中得到了一個問題here:實體框架SQL查詢未返回正確的數據
這段代碼很完美,但是它產生了超過1200行的SQL,並且在第一次調用時,編譯查詢需要花費5秒以上的時間,並且執行它需要300ms不能接受的。你可以看到我的意思here:
我使用Glimpse來查看它正在生成的SQL,並有趣地注意到,如果我刪除註釋,SQL將下降到只有200行代碼。
我決定將SQL放入存儲過程中,儘管它正確地返回了發佈數據,但未填充PostAuthor。
我仔細檢查了與LINQ查詢它填充,但使用
_context.Posts.SqlQuery(...)
不被填充PostAuthor對象。
我還在SQL Server Management Studio中檢查了原始SQL查詢,並且所有數據都正在返回,它只是在返回時未被填充。
我錯過了什麼嗎?這是一個已知的問題?
您可能需要顯示一些代碼才能提供幫助。什麼是您正在使用的C#LINQ查詢?在Glimpse中生成的查詢的SQL是什麼?您的替代解決方案中的點是什麼? –
如果我記得正確(因爲我沒有使用存儲過程),這是一個基於我讀過的其他線程的已知問題。 –