實體框架LINQ-to-Entities查詢是否會返回數據庫中的所有記錄(即使是1000萬行),還是對檢索記錄大小有任何限制?LINQ查詢是否返回數據庫中的所有記錄?
-2
A
回答
1
實體框架和LINQ對於它們可以提取多少行沒有任何限制。您可能會遇到的問題是使您的服務器內存不足,因爲您試圖一次檢索大量數據。
您應該考慮使用像精緻小巧的Valkyriee在評論中提到的,或至少禁用proxy
,如果你仍然想使用實體框架:
using(var db = new MyDbContext())
{
db.Configuration.ProxyCreationEnabled = false;
var data = db.Users.ToList(); // suppose you have 10 milion users
}
...只是意識到了什麼disabling proxy will cause。我仍然建議爲此使用Dapper。
0
通常一次從數據庫獲取1000萬條記錄不是一個好習慣。您可以使用實體推薦的分頁功能。
相關問題
- 1. 查詢Access數據庫並將所有記錄返回給Excel
- 2. LINQ查詢返回符合所有子查詢條件的所有記錄
- 3. Linq查詢返回選擇新語句的所有記錄
- 4. 查詢不返回所有記錄,需要所有記錄
- 5. $ geoNear查詢不返回所有記錄
- 6. Elasticsearch查詢返回所有記錄
- 7. 函數參數,返回數據庫表中的所有記錄
- 8. 檢查數據庫是否有記錄
- 9. 在數組中的Mongoose布爾查詢返回所有記錄
- 10. LINQ不返回所有子記錄
- 11. 檢查LINQ查詢是否返回行
- 12. PHP記錄到數組:數組查詢返回的所有ID
- 13. TSQL查詢所有記錄必須存在以返回記錄
- 14. SQL查詢返回其中有%的所有記錄
- 15. 如果查詢返回所有行,數據庫索引是否有用?
- 16. 記錄不返回所有數據VBA
- 17. 數據庫記錄總是返回'零'
- 18. 查詢返回的所有記錄,如果參數爲null
- 19. 爲什麼這個查詢總是返回所有記錄?
- 20. PHP/HTML返回Oracle數據庫中的所有行查詢
- 21. LINQ返回MVC5上的所有記錄和groupby Razor查看
- 22. 查詢所有數據庫記錄的數量
- 23. typeahead.js:返回空查詢中的所有血獵記錄
- 24. 分組只有在LINQ查詢返回最近的記錄
- 25. Hibernate select查詢沒有返回數據庫中的最新記錄
- 26. Android:SQLite數據庫查詢不返回任何記錄
- 27. Linq查詢比SQL返回較少記錄查詢
- 28. 數據庫查詢總是返回true?
- 29. 返回linq查詢的數據類型
- 30. MYSQL查詢所有數據庫的記錄
當你遇到'OutOfMemoryException'時會受到限制。你正在處理的是什麼情況?你打算如何處理這些數據? –
我個人從未使用LINQ2Entities進行這樣的查詢,我寧願編寫存儲過程並使用Dapper來映射它們並返回數據。但似乎它可能?是的。它取決於服務器和其他許多事情。 – Valkyrie
當你檢索那麼多的記錄時,你真的在存檔數據庫。因此檢查數據庫是否有任何歸檔工具。 – jdweng