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
  • 4,859
  • 15
  • 51
  • 77

4 Answers4

6

You're looking for .ThenBy():

.OrderBy(o => o.OrderDate).ThenBy(o => o.OrderID).
SLaks
  • 800,742
  • 167
  • 1,811
  • 1,896
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,649
  • 2
  • 16
  • 29
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
  • 13,774
  • 2
  • 25
  • 29
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,480
  • 1
  • 17
  • 31