[英]Entity Framework 6, best strategy to get filtered data from big table with many links to other tables
以下哪種方式更好:
我認為第二種方式會更快,但是 memory 呢?如何根據干凈架構的規則解決這個問題?
這兩種解決問題的方法看起來都不合適。 如果你突然陷入和我一樣的境地,讓我們呼氣,喝茶,去公園散步。
然后嘗試從頭重寫算法。 幾乎可以肯定,您可以將其分為兩部分:
首先,對 db 進行一次查詢以過濾掉您將進一步合作的客戶。 這可能看起來像:
var outdatedClients = db.Clients.Where(client => client.Orders.Any(order => order.Date < DateTime.Now.AddDays(-client.Term));
然后使用foreach (var client in outdatedClients){}
,您可以在必要時使用.include()
處理過時的訂單。 在大多數情況下,您甚至可以避免此循環並通過對 db 進行多一次查詢來獲取必要的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.