/// <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); }
/// <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); }