1. 程式人生 > >entity framework6.0,只查詢資料,佔記憶體大的情況

entity framework6.0,只查詢資料,佔記憶體大的情況

初步使用, 只做查詢使用,客戶電腦經常報 out of memory,程序記憶體達到1.4G,應該是記憶體佔用太大導致的,在entity後使用AsNoTracking(),可以取消與資料庫的連線,降低資源,經過測試,記憶體也會增長,查詢完結,即會降下來

  • AsNoTracking幹什麼的呢?無跟蹤查詢而已,也就是說查詢出來的物件不能直接做修改。所以,我們在做資料集合查詢顯示,而又不需要對集合修改並更新到資料庫的時候,一定不要忘記加上AsNoTracking。
  • 如果查詢過程做了select對映就不需要加AsNoTracking。如:db.Students.Where(t=>t.Name.Contains("張三")).select(t=>new (t.Name,t.Age)).ToList();