/// <summary> /// 删除页面的所有文章 /// </summary> public void DeletePagePosts(string pageName) { IEnumerable <int> postIds = PostRepository.GetAll().Where(e => e.Page.Name == pageName).Select(e => e.Id); Expression <Func <ContentComponentData, object> >[] propertySelectors = { e => e.SingleDatas }; ComponentDataRepository.GetAllIncluding(propertySelectors).Where(e => e.PageDataId.HasValue && postIds.Contains(e.PageDataId.Value)).ToList(); ComponentDataRepository.Delete(item => item.PageDataId.HasValue && postIds.Contains(item.PageDataId.Value)); PostRepository.Delete(e => postIds.Contains(e.Id)); }
public void SetContentComponentDatas(string pageName, string pageDataName, List <ContentComponentData> contentComponentDatas) { PageData pageData = PostRepository.FirstOrDefault(e => e.Page.Name == pageName && e.Name == pageDataName); Expression <Func <ContentComponentData, object> >[] propertySelectors = { e => e.SingleDatas }; ComponentDataRepository.GetAllIncluding(propertySelectors).Where(e => e.PageDataId == pageData.Id).ToList(); ComponentDataRepository.Delete(item => item.PageDataId == pageData.Id); contentComponentDatas.ForEach(item => { item.PageData = pageData; ComponentDataRepository.Insert(item); }); }
public void DeletePageData(string pageName, string pageDataName) { var pageData = PostRepository.GetAllIncluding(new Expression <Func <PageData, object> >[] { e => e.Tags }).FirstOrDefault(e => e.Name == pageDataName && e.Page.Name == pageName); if (pageData == null) { throw new UserFriendlyException("找不到要删除的文章"); } Expression <Func <ContentComponentData, object> >[] propertySelectors = { e => e.SingleDatas }; ComponentDataRepository.GetAllIncluding(propertySelectors).Where(e => e.PageDataId == pageData.Id).ToList(); ComponentDataRepository.Delete(item => item.PageDataId == pageData.Id); PostRepository.Delete(pageData); }