EntityFramework 查询资源释放问题!!

.Net技术 码拜 10年前 (2015-05-10) 1017次浏览 0个评论
    class BaseController
    {
        static public GowallaEntities gowallaEntities = new GowallaEntities();
    }



 class CheckInController : BaseController
    {        
public static int GetHomeLocationByID(int id)
        {
            List<checkin> checkinList = gowallaEntities.checkins.Where(c => c.UserID == id).ToList();
            if (checkinList.Count != 0)
               return    checkinList.GroupBy(c => c.LocationID).OrderByDescending(c => c.Count()).First().Key;
            return -1;
        }
    }

我这是想用来查询一个User的签到最多的LocationID 
随着程序的运行 内存飙升。。。一会就outofmemory了。。。求大神指点!
个人感觉是每次查询的list没有被释放。。。

40分
list肯定是释放了的  框架自身也不会出现这种问题
checkins是不是量很大?
如果表的数据很大我觉得是缓存问题,表数据太大导致缓存的内容过多? 你用AsNoTracking试试禁用ef的查询缓存看看呢
引用 1 楼 u011710947 的回复:

list肯定是释放了的  框架自身也不会出现这种问题
checkins是不是量很大?
如果表的数据很大我觉得是缓存问题,表数据太大导致缓存的内容过多? 你用AsNoTracking试试禁用ef的查询缓存看看呢

恩 用 

List<checkin> checkinList = gowallaEntities.checkins.Where(c => c.UserID == id).AsNoTracking().ToList();

内存稳定了相当多  非常感谢!


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明EntityFramework 查询资源释放问题!!
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!