метод занимает больше времени - PullRequest
0 голосов
/ 06 ноября 2018

Этот метод занимает больше времени, когда я анализирую через муравьиный профилировщик 1-й ин после lstStatMstCache == null, занимая больше времени, потребляемого здесь

    private List<CacheStatusMaster> GetStatuses(/*string sourceSystemName, string sourceSystemStatus, int transactionTypeId*/)
    {
        var lstStatMstCache = (List<CacheStatusMaster>)_provider.PullFromCache<object>("StatusList");
        if (lstStatMstCache == null)
        {
            **var lstStatMst = _statusMasterRepository.GetAll().ToList();**
            lstStatMstCache = _mapper.Map<List<StatusMap>, List<CacheStatusMaster>>(lstStatMst);
            _provider.PushToCache("StatusList", lstStatMstCache);
        }

        return lstStatMstCache;
    }

Код, сгенерированный комплиментом

  private List<CacheStatusMaster> GetStatuses()
    {
        List<CacheStatusMaster> list = (List<CacheStatusMaster>)this._provider.PullFromCache<object>("StatusList");
        if (list == null)
        {
            **List<StatusMap> source = Enumerable.ToList<StatusMap>(this._statusMasterRepository.GetAll());**
            list = this._mapper.Map<List<StatusMap>, List<CacheStatusMaster>>(source);
            this._provider.PushToCache("StatusList", list, 60);
        }
        return list;
    }

Есть ли способ написать ту же логику с меньшими затратами времени?

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