protected virtual T Read(string key) { var mappedType = _autoMapperService.GetMappedType <T>(); var cached = _dao.ReadFirst(mappedType, "Key=@key", new { key }); if (cached != null) { return(_autoMapperService.MapTo <T>(cached)); } else { return(default(T)); } }