【问题标题】:How to order a linq query result by two different types fields [duplicate]如何通过两种不同类型的字段对 linq 查询结果进行排序 [重复]
【发布时间】:2012-08-03 14:33:28
【问题描述】:

可能重复:
Multiple “order by” in LINQ

我想知道如何通过两种不同类型的查询来排序,如下所示:

            var qry = (from m in dc.Orders
                   select new { m.OrderDate, m.OrderID }).OrderBy(o=>o.OrderDate+o.OrderID).ToList();
        bindingSource1.DataSource = qry;

OrdrerDate 是日期类型,OrderID 是 int 类型。

【问题讨论】:

标签: c# winforms linq-to-sql sql-order-by bindingsource


【解决方案1】:

你正在寻找.ThenBy():

.OrderBy(o => o.OrderDate).ThenBy(o => o.OrderID).

【讨论】:

  • 是的,就是这样。
【解决方案2】:

我会说:

 var qry = (from m in dc.Orders
                   select new { m.OrderDate, m.OrderID }).OrderBy(o=>o.OrderDate).ThenBy(o.OrderID).ToList();

【讨论】:

    【解决方案3】:

    试试这个

    var qry = (from m in dc.Orders 
                   select new { m.OrderDate, m.OrderID }).OrderBy(o=>o.OrderDate).ThenBy(o.OrderID).ToList();
    

    【讨论】:

      【解决方案4】:

      你可以使用 ThenBy 或者你可以编写这个 Linq 查询:

      var qry = (from m in dc.Orders
                  orderby m.OrderDate, m.OrderID
          select new {m.OrderDate, m.OrderID}).ToList
      
              bindingSource1.DataSource = qry;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-09
        • 2023-02-02
        • 1970-01-01
        相关资源
        最近更新 更多