我正在使用实体框架来选择具有~20k记录的表中的数据,但我正在做我的选择,并且该查询返回~2k记录。当我使用myEnumerable.ToList()(有25条记录)在我的gridview中使用时需要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()方法需要同时返回我的列表。