LINQ OrderBy查询

时间:2010-08-02 10:13:51

标签: c# linq sql-order-by

我有以下内容通过供应商列表:

public List<tblSupplierPerformance> GetSupplierInfo(string memberid, string locationid, string supplieridname)
{
    MyEntities suppliers = new MyEntities();

    var r = (from p in suppliers.tblSupplierPerformances
             where p.MemberId == memberid && p.LocationId == locationid
             orderby p.TotalPurchaseQuantity 
             select p)
            .Distinct();

    if (supplieridname != "0")
        r = r.Where(p => p.SupplierIDName == supplieridname);

    return r.ToList();
}

然而,当它运行时,orderby似乎没有订购。

我认为,想想,我需要在“return r”中实现orderby。阶段,但我真的不知道如何做到这一点,或者我可能在整个商店都非常错误!

很高兴收到任何指示。

2 个答案:

答案 0 :(得分:9)

怀疑这是Distinct电话,这搞砸了订单......虽然因为你没有加入或做这样的事情,但我不确定你为什么需要不同 - 不是每个实体都自然不同吗?

无论如何,您当然可以将订单移至return语句:

return r.OrderBy(p => p.TotalPurchaseQuantity).ToList();

答案 1 :(得分:1)

是的,您需要在返回

中实现订单
return r.ToList().OrderBy(o => o.Column1);