通过desc实体订单的linq

时间:2013-12-04 09:54:47

标签: c# linq entity-framework

我只想按照这样下降:

var query = from o in oEntite_T.ORDRE
            where o.DATE_CREE >= datedeb && o.DATE_CREE <= datefin
            orderby o.NO_ORDRE descending
            select o;

它没有下降顺序,我也尝试过:

var query = (from o in oEntite_T.ORDRE
             where o.DATE_CREE >= datedeb && o.DATE_CREE <= datefin
             select  o).OrderByDescending(p => p.NO_ORDRE);

我得到了相同的结果。这是因为组件Devexpress?

linqServerModeSource_Ordre.KeyExpression = "NO_ORDRE;CODE_CLIENT";
linqServerModeSource_Ordre.QueryableSource = oOrdre_BL.Get_OrdreEntity(dateEdit_Deb_Ordre.DateTime, dateEdit_Fin_Ordre.DateTime);

gridControl_Liste_Ordres.DataSource = linqServerModeSource_Ordre;

我的完整代码:

public IQueryable<ORDRE> Get_OrdreEntity(DateTime datedeb, DateTime datefin)
{
    try
    {
        IQueryable<ORDRE> LesListe;
        Soft8Exp_ClientEntities oEntite_T = new Soft8Exp_ClientEntities();

        var query = (from o in oEntite_T.ORDRE
                     where o.DATE_CREE >= datedeb && o.DATE_CREE <= datefin
                     select  o).OrderByDescending(p => p.NO_ORDRE);
        //var query = oEntite_T.ExecuteFunction<ORDRE>("qf").;

        LesListe = query;
        return LesListe;
    }
    catch (Exception excThrown)
    {
        throw new Exception("Err_02", excThrown);
    }
}

1 个答案:

答案 0 :(得分:1)

从代码中我看到您将查询对象返回到某个外部基础结构(设置devexpress组件的DataSource属性)。 然后我知道这个组件只是添加了另一个.OrderBy来执行它的对象,这样你的排序就会丢失。

由于devexpress有自己的排序功能,似乎只是覆盖你的,这似乎是非常可能和合乎逻辑的。

通过设置DataSource,您只需提供一个数据集,由组件来添加排序,分页等。

请查看组件API以指定所需的排序。也许它具有这样做的属性。