实体框架toList()慢

时间:2013-07-05 17:38:46

标签: performance entity-framework linq-to-entities

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

0 个答案:

没有答案