コード例 #1
0
        /// <summary>
        /// 查询文章.
        /// </summary>
        /// <param name="articleID"></param>
        /// <returns></returns>
        public ArticleDetailOutput GetArticleByID(long articleID)
        {
            using (MyArticleContext context = new MyArticleContext())
            {
                Article data = context.Articles.Include("ArticleCategory").FirstOrDefault(p => p.ArticleID == articleID);
                if (data == null)
                {
                    return(null);
                }

                ArticleDetailOutput result = Mapper.Map <Article, ArticleDetailOutput>(source: data);
                return(result);
            }
        }
コード例 #2
0
        /// <summary>
        /// 查询文章.
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public ArticleListOutput GetArticleList(GetArticleListInput input)
        {
            using (MyArticleContext context = new MyArticleContext())
            {
                var query =
                    from data in context.Articles.Include("ArticleCategory")
                    where
                    // 指定分类.
                    data.ArticleCategoryCode == input.CategoryCode
                    // 数据有效.
                    && data.Status == Article.STATUS_IS_ACTIVE
                    // 今天不应显示  文章日期是明天或者更后的文章.
                    && data.ArticleDate <= DateTime.Now
                    select new ArticleOutput()
                {
                    ArticleID           = data.ArticleID,
                    ArticleTitle        = data.ArticleTitle,
                    ArticleDate         = data.ArticleDate,
                    ShortArticleContent = data.ShortArticleContent
                };

                if (!String.IsNullOrEmpty(input.Title))
                {
                    // 指定了标题.
                    query = query.Where(p => p.ArticleTitle.Contains(input.Title));
                }

                // 初始化翻页.
                PageInfo pgInfo = new PageInfo(
                    pageSize: input.PageSize,
                    pageNo: input.PageNo,
                    rowCount: query.Count());

                query = query.OrderByDescending(p => p.ArticleDate)
                        .Skip(pgInfo.SkipValue)
                        .Take(pgInfo.PageSize);


                ArticleListOutput result = new ArticleListOutput()
                {
                    PageIndex   = pgInfo.PageIndex,
                    PageSize    = pgInfo.PageSize,
                    RowCount    = pgInfo.RowCount,
                    ArticleList = query.ToList()
                };

                return(result);
            }
        }
コード例 #3
0
        /// <summary>
        /// 查询 有效的 分类列表.
        /// </summary>
        /// <returns></returns>
        public List <ArticleCategoryOutput> GetActiveArticleCategoryList()
        {
            using (MyArticleContext context = new MyArticleContext())
            {
                var query =
                    from data in context.ArticleCategorys
                    where
                    // 数据有效.
                    data.Status == ArticleCategory.STATUS_IS_ACTIVE
                    select new ArticleCategoryOutput()
                {
                    ArticleCategoryCode = data.ArticleCategoryCode,
                    ArticleCategoryName = data.ArticleCategoryName
                };

                List <ArticleCategoryOutput> resultList = query.ToList();
                return(resultList);
            }
        }
コード例 #4
0
        /// <summary>
        /// 取得分类信息.
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public ArticleCategoryOutput GetActiveArticleCategory(string code)
        {
            using (MyArticleContext context = new MyArticleContext())
            {
                var query =
                    from data in context.ArticleCategorys
                    where
                    // 指定分类.
                    data.ArticleCategoryCode == code
                    // 数据有效.
                    && data.Status == ArticleCategory.STATUS_IS_ACTIVE
                    select new ArticleCategoryOutput()
                {
                    ArticleCategoryCode = data.ArticleCategoryCode,
                    ArticleCategoryName = data.ArticleCategoryName
                };

                return(query.FirstOrDefault());
            }
        }
コード例 #5
0
        static void Main(string[] args)
        {
            // 当 Code First 与数据库结构不一致时
            // 自动升级到最新的版本.
            Database.SetInitializer(new MigrateDatabaseToLatestVersion <MyArticleContext, MyArticle.Migrations.Configuration>());

            using (MyArticleContext context = new MyArticleContext())
            {
                var query =
                    from data in context.ArticleCategorys
                    select data;

                foreach (var item in query)
                {
                    Console.WriteLine(item.ArticleCategoryCode);
                }
            }

            Console.WriteLine("Finish!");
            Console.ReadKey();
        }