方法需要更多时间

时间:2018-11-06 10:37:06

标签: .net core

当我在lstStatMstCache == null之后通过ant profiler.1st ine分析时,此方法花费了更多时间。

    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;
    }

有什么办法可以以更少的时间写相同的逻辑?

0 个答案:

没有答案