public async Task <ActionResult <GuidInfo> > GetGuidInfoAsync(System.Guid id) { // try cache first var info = await _cache.GetEntityAsync(_cachePrefix, id.ToString()); if (info != null) { return(await ProcessGuidInfo(info, true)); } else { // not cached, try from database var infos = await _context.GuidInfos.GetAsync(i => i.Guid == id); if (!infos.Any()) { return(NotFound(new GuidApiError(GuidErrorCode.GuidNotFound))); } else { return(await ProcessGuidInfo(infos[0], false)); } } }