Entity Framework & MemoryCache - PullRequest
       6

Entity Framework & MemoryCache

0 голосов
/ 18 мая 2018

У меня есть n-уровневое приложение ASP.NET MVC.Я использую Entity Framework в DAL.Поэтому я решил использовать слой кэша в dal для повышения производительности приложения.Я реализовал это, но есть проблема.Я помещаю сущность в кэш памяти первым запросом, после чего при втором запросе я пытаюсь получить сущность из кеша, это ошибка выброса объекта.Я знаю эту ошибку нормально, потому что я не могу из кеша.Но я не мог думать об этом.Что я могу сделать?Должен ли я использовать бизнес-объект в dal или?

"Экземпляр ObjectContext был удален и больше не может использоваться для операций, требующих подключения"

    public IQueryable<Category> GetAll()
    {
        var cacheKey = string.Format("{0}_{1}", "CategoryRepository", "GetAll");

        var isExists = _cache.Contains(cacheKey) && Const.CacheIsActive;
        if (isExists)
        {
               //At here error: "The ObjectContext instance has been disposed and 
               //can no longer be used for operations that require a connection"
            return _cache.Get<IQueryable<Category>>(cacheKey);
        }
        else
        {
            var obj = _db.Categories;
            _cache.Add(cacheKey, obj);

            return obj;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...