コード例 #1
0
        /// <summary>
        /// 读取模型实例列表。
        /// </summary>
        /// <param name="cancellationToken">取消标记。</param>
        /// <returns>返回模型实例列表。</returns>
        protected async Task <IPageEnumerable <TModel> > LoadPageAsync(CancellationToken cancellationToken = new CancellationToken())
        {
            var models = new PageEnumerable <TModel>();

            models.Page     = PageIndex ?? 1;
            models.PageSize = Size ?? 20;
            using (var reader = await _db.ExecuteReaderAsync(_sqlGenerator.Query(this).ToString(), cancellationToken: cancellationToken))
            {
                while (await reader.ReadAsync(cancellationToken))
                {
                    models.Add(Entity.Read <TModel>(reader));
                }
                if (await reader.NextResultAsync(cancellationToken) && await reader.ReadAsync(cancellationToken))
                {
                    models.Size = reader.GetInt32(0);
                }
            }
            return(models);
        }
コード例 #2
0
        /// <summary>
        /// 读取模型实例列表。
        /// </summary>
        /// <returns>返回模型实例列表。</returns>
        protected IPageEnumerable <TModel> LoadPage()
        {
            var models = new PageEnumerable <TModel>();

            models.Page     = PageIndex ?? 1;
            models.PageSize = Size ?? 20;
            using (var reader = _db.ExecuteReader(_sqlGenerator.Query(this).ToString()))
            {
                while (reader.Read())
                {
                    models.Add(Entity.Read <TModel>(reader));
                }
                if (reader.NextResult() && reader.Read())
                {
                    models.Size = reader.GetInt32(0);
                }
            }
            return(models);
        }