我正在使用实体框架来选择具有 ~ 20k 记录的表中的数据,但我正在做我的选择,那就是查询返回 ~ 2k 记录。当我在我的 gridview 中使用 myEnumerable.ToList()(有 25 条记录)时,这需要 10 秒。我需要帮助。
//pageSize = 25;
//ticket have ~ 2k records
//ds enumerable with 25 records
var ds = tickets.Skip(currentRow).Take(pageSize).Select(r => new
{
r.NomeServico,
r.ReferenciaCliente,
r.DataRegistro,
r.Codigo,
r.NomeSolicitante,
r.ShortStatus,
r.TipoServico,
r.Severidade,
Severidade_min = string.IsNullOrEmpty(r.Severidade) ? "" : r.Severidade[0].ToString(),
CSS_SEVERIDADE = !(string.IsNullOrEmpty(r.Severidade)) ? "item_status " + ((r.Severidade == "BAIXA") ? "status_azul" : (r.Severidade == "ALTA") ? "status_vermelho" : "status_laranja") : "",
CSS_STATUS = Util.GetCssStatus(r.ShortStatus)
}).AsEnumerable();
//this method take a few seconds
var ds1 = ds.ToList();
gvPainel.DataSource = ds1.OrderBy(t => t.ShortStatus);
gvPainel.DataBind();
我看到的是如果我的表返回 20k 条记录或 2k 条记录 ToList() 方法需要相同的时间来返回我的列表。