Querying LINQ to SQL: Basics - Sorting rows with ORDER BY using LINQ
(Page 4 of 6 )
Let us imagine that I have the following SELECT query:
SELECT OrderID, OrderDate FROM Orders
And now, we will represent the same thing using LINQ (in VB). This is the code:
Dim q = From p In db.Orders _
Select p.OrderID, p.OrderDate _
Order By OrderDate
The sorting order defaults to “ascending” when no specific order type is defined. We can define it as “descending” as follows:
Dim q = From p In db.Orders _
Select p.OrderID, p.OrderDate _
Order By OrderDate Descending
Nothing can stop you from defining it as “ascending” or “descending” in your query. The same can be achieved in C# as follows:
var q = from p in db.Orders
orderby p.OrderDate
select new { p.OrderID, p.OrderDate };
If multiple columns need to be sorted as they are provided in the following SELECT query,
SELECT OrderID, OrderDate FROM Orders
ORDER BY OrderDate DESC, OrderID DESC
then the relevant LINQ (in VB) would be as follows:
Dim q = From p In db.Orders _
Select p.OrderID, p.OrderDate _
Order By OrderDate Descending , OrderID Descending
The same can be achieved in C# as follows:
var q = from p in db.Orders
orderby p.OrderDate descending, p.OrderID descending
select new { p.OrderID, p.OrderDate };
Next: Filtering rows with conditions and implementing SQL IN operator using LINQ >>
More .NET Articles
More By Jagadish Chaterjee