public PagedUserArgs <UserInfo> List(PagedUserArgs <UserInfo> query) { if (query == null) { query = new PagedUserArgs <UserInfo>(); } var db = this.GetDatabase(); IQueryable <UserInfo> rs = this.GetQueryable(query, db.UserInfo); query.ResultCount = rs.Count(); rs = rs.OrderByDescending(item => item.Id); if (query.PageIndex > 0 && query.PageSize > 0) { rs = rs.Skip((query.PageIndex - 1) * query.PageSize).Take(query.PageSize); } query.Results = rs.ToArray(); var dataTable = new System.Data.DataTable(); dataTable.Columns.Add("Id", Int64.MinValue.GetType()); dataTable.Columns.Add("Name", string.Empty.GetType()); dataTable.Columns.Add("FullName", string.Empty.GetType()); foreach (var data in query.Results) { var dataRow = dataTable.NewRow(); dataRow["Id"] = data.Id; dataRow["Name"] = data.Name; dataRow["FullName"] = data.FullName; dataTable.Rows.Add(dataRow); } var array = dataTable.ToArray <UserInfo>(); var list = dataTable.ToList <UserInfo>(); return(query); }