2

Possible Duplicate:
Multiple “order by” in LINQ

I wonder how to order by two different types a query like the next:

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

OrdrerDate is a date type and OrderID is an int type.

Community
  • 1
  • 1
Sami-L
  • 5,553
  • 18
  • 59
  • 87

4 Answers4

6

You're looking for .ThenBy():

.OrderBy(o => o.OrderDate).ThenBy(o => o.OrderID).
SLaks
  • 868,454
  • 176
  • 1,908
  • 1,964
1

I would say:

 var qry = (from m in dc.Orders
                   select new { m.OrderDate, m.OrderID }).OrderBy(o=>o.OrderDate).ThenBy(o.OrderID).ToList();
bitsmuggler
  • 1,689
  • 2
  • 17
  • 30
1

Try this

var qry = (from m in dc.Orders 
               select new { m.OrderDate, m.OrderID }).OrderBy(o=>o.OrderDate).ThenBy(o.OrderID).ToList();
Justin Harvey
  • 14,446
  • 2
  • 27
  • 30
1

you can use ThenBy or you can write this Linq query :

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

        bindingSource1.DataSource = qry;
2GDev
  • 2,478
  • 1
  • 20
  • 32