public void DeleteDefaultComponentData(PageBase page) { var oldDatas = DefaultComponentDataRepository.GetAllIncluding(e => e.SingleDatas).Where(e => e.PageId == page.Id).ToList(); oldDatas.ForEach(item => { DefaultComponentDataRepository.Delete(item); }); SetInvalidForCache(page.Name); }
/// <summary> /// 从缓存获取页面对应的组件 /// </summary> /// <param name="pageName"></param> /// <returns></returns> public List <DefaultComponentData> GetDefaultComponentsForCache(string pageName) { return(_cache.GetOrCreate <List <DefaultComponentData> >(GetCacheName(pageName), cacheEntity => { cacheEntity.SlidingExpiration = TimeSpan.FromHours(1); cacheEntity.AbsoluteExpirationRelativeToNow = TimeSpan.FromDays(1); cacheEntity.SetPriority(CacheItemPriority.NeverRemove); DefaultComponentDataRepository.NoTracking(); var componentDatas = DefaultComponentDataRepository.GetAllIncluding(e => e.SingleDatas).Where(e => e.Page.Name == pageName).ToList(); DefaultComponentDataRepository.Tracking(); return componentDatas; })); }