0

我正在使用实体框架来选择具有 ~ 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() 方法需要相同的时间来返回我的列表。

4

0 回答 0