public IQueryable Execute(bool? flush = null)
{
if (IsCacheable && (!flush.HasValue || !flush.Value))
{
if (!CacheProvider.Current.Contains(CacheKey))
CacheProvider.Add(CacheKey, GetAppliedQuery(), CacheDuration);
return CacheProvider.Current.Get(CacheKey) as IQueryable;
}
return GetAppliedQuery();
}