当前位置: 代码迷 >> C# >> EntityFramework 查询资源释放有关问题!
  详细解决方案

EntityFramework 查询资源释放有关问题!

热度:327   发布时间:2016-05-05 04:06:48.0
EntityFramework 查询资源释放问题!!
本帖最后由 poisonyaogun 于 2015-04-17 11:28:22 编辑

    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没有被释放。。。
------解决思路----------------------
list肯定是释放了的  框架自身也不会出现这种问题
checkins是不是量很大?
如果表的数据很大我觉得是缓存问题,表数据太大导致缓存的内容过多? 你用AsNoTracking试试禁用ef的查询缓存看看呢