public override TEntity FirstOrDefault(object id) { id.ThrowIfNull(); LastGeneratedCacheKey = _keyGenerator.ForFirstOrDefault(id); return(Cache.GetOrAdd( LastGeneratedCacheKey, () => base.FirstOrDefault(id), CacheConfigurator)); }
public override async Task <TEntity> FirstOrDefaultAsync(object id) { id.ThrowIfNull(); LastGeneratedCacheKey = _keyGenerator.ForFirstOrDefault(id); return(await Cache.GetOrAddAsync( LastGeneratedCacheKey, () => base.FirstOrDefaultAsync(id), CacheConfigurator) .ConfigureAwait(false)); }