コード例 #1
0
        public void DeleteCategories(DeleteCategoriesParameter param)
        {
            using (var scope = DbScope.Create())
                using (var context = base.CreateContext())
                {
                    scope.BeginTransaction();
                    var q = context.NewsCategories.Where(t => param.RowIDSet.Contains(t.RowID));
                    foreach (var item in q)
                    {
                        if (context.News.Any(t => t.CategoryID == item.RowID))
                        {
                            throw new InvalidInvokeException("不能删除有新闻的分类");
                        }

                        //更新子类的父类为被删除类别的父类。
                        context.NewsCategories.Update(t => t.ParentID == item.RowID, t => new NewsCategory {
                            ParentID = item.ParentID
                        });
                    }
                    q.Delete();
                    scope.Complete();
                }

            CacheInterceptorAttribute.ClearCache(_QueryCategories);
        }
コード例 #2
0
        public void DeleteCategories(DeleteCategoriesParameter param)
        {
            var repository = new NewsRepository();

            repository.DeleteCategories(param);
        }