public async Task <IEnumerable <Tuple <string, string> > > GetRestroomRoutesAsync() { var cacheKey = $"{Classname}.{MethodBase.GetCurrentMethod().Name}"; var routes = DomainCache.GetCache(cacheKey); if (routes == null) { routes = await new SchedulingUnitOfWork().Get <Entities.Scheduling.Route>() .Select(r => new { r.RouteTypeId, r.RouteAlpha }) .Distinct() .OrderBy(r => r.RouteAlpha) .AsEnumerable() .Select(r => new Tuple <string, string>(r.RouteAlpha, r.RouteAlpha)) .ToListAsync(); DomainCache.AddCache(cacheKey, routes); } return((IEnumerable <Tuple <string, string> >)routes); }