Linq to SQL - How to sort results from query
I have a LINQ query I am ret开发者_如何学编程rieving, although in its context how would I sort the output, I have tried sortby etc. but to no avail
DataClasses1DataContext db = new DataClasses1DataContext();
var returnall = from p in db.Orders
select p.ShipName;
var returnall = from p in db.Orders
orderby p.ShipName
select p.ShipName;
A handy reference for various LINQ functions can be found on the MSDN samples page.
you can use OrderBy to order the single property for multiple property use ThenBy also
DataClasses1DataContext db = new DataClasses1DataContext();
var returnall = db.OrderBy(r=> r.OrderDelivaryDate).
ThenBy(r => r. OrderName);
This query will sort first by OrderDelivaryDate
then by OrderName
Here is some simple linq queries http://msdn.microsoft.com/en-us/vcsharp/aa336756#thenBySimple
var ret = db.Orders.OrderBy( x => x.ShipName );
order by
To sort results from query on one or more fields:
Data:
List<Employee> emp = new List<Employee>() { new Employee() { emp_id = 101, emp_name = "David", emp_lang = "Java", dpt_id = 1 }
,new Employee() { emp_id = 102, emp_name = "Lana",emp_lang = "C#", dpt_id = 2 }
,new Employee() { emp_id = 103, emp_name = "Sona",emp_lang = "Java", dpt_id = 3 }
,new Employee() { emp_id = 104, emp_name = "Mike",emp_lang = "C++", dpt_id = 3 }
,new Employee() { emp_id = 105, emp_name = "Roma",emp_lang = "C#", dpt_id = 1 }
Query:
var res = from e in emp
orderby e.emp_lang, e.dpt_id
select new { e.emp_name, e.emp_lang, e.dpt_id }
Result:
{ emp_name = "Roma", emp_lang = "C#", dpt_id = 1 }
{ emp_name = "Lana", emp_lang = "C#", dpt_id = 2 }
{ emp_name = "Mike", emp_lang = "C++", dpt_id = 3 }
{ emp_name = "David", emp_lang = "Java", dpt_id = 1 }
{ emp_name = "Sona", emp_lang = "Java", dpt_id = 3 }
精彩评论