ORDER BY and Sorting Data (ASC, DESC) (LINQ, Entity Framework) |
ORDER BY and Sorting Data (ASC, DESC) (LINQ, Entity Framework) ในการ Query ข้อมูลบน SQL Statement ทั่ว ๆ ไป เราจะใช้การ Sort (จัดเรียง) ด้วยคำสั่ง ORDER BY ตามด้วยคอลัมบ์ที่ต้องการ ซึ่งบน LINQ to Entities เราก็จะใช้ในรูปแบบเดียวกัน สามารถจัดเรียงได้ทั้งเป็นแบบ ASC (Ascending) , DESC (Descending) และ ความสามารถในการจัดเรียงได้มากกว่าหนึ่งเงื่อนไข
Example 1 : การ Select ข้อมูลและการ ORDER BY แบบ ASC (Ascending)
Code (C#)
private void frmMain_Load(object sender, EventArgs e)
{
// Create new entities Object
using (var db = new myDatabaseEntities())
{
// Get data from CUSTOMER
var ds = (from c in db.CUSTOMER
orderby (c.USED)
select c).ToList();
// if found item rows
if (ds.Count() > 0)
{
this.myDataGridView.DataSource = ds;
}
}
}
Code (VB.Net)
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Create new entities Object
Using db = New myDatabaseEntities()
' Get data from CUSTOMER
Dim ds = (From c In db.CUSTOMER
Order By c.USED
Select c).ToList()
' if found item rows
If ds.Count() > 0 Then
Me.myDataGridView.DataSource = ds
End If
End Using
End Sub
สามารถเขียนได้อีกวิธีเช่น
Code (C#)
private void frmMain_Load(object sender, EventArgs e)
{
// Create new entities Object
using (var db = new myDatabaseEntities())
{
// Get data from CUSTOMER
var ds = (from c in db.CUSTOMER
select c).ToList();
// Order by
ds = ds.OrderBy(o => (o.USED)).ToList();
// if found item rows
if (ds.Count() > 0)
{
this.myDataGridView.DataSource = ds;
}
}
}
Code (VB.Net)
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Create new entities Object
Using db = New myDatabaseEntities()
' Get data from CUSTOMER
Dim ds = (From c In db.CUSTOMER
Select c).ToList()
' Order by
ds = ds.OrderBy(Function(o) (o.USED)).ToList()
' if found item rows
If ds.Count() > 0 Then
Me.myDataGridView.DataSource = ds
End If
End Using
End Sub
Screenshot
Example 2 : การ Select ข้อมูลและการ ORDER BY แบบ DESC (Descending)
Code (C#)
private void frmMain_Load(object sender, EventArgs e)
{
// Create new entities Object
using (var db = new myDatabaseEntities())
{
// Get data from CUSTOMER
var ds = (from c in db.CUSTOMER
orderby c.USED descending
select c).ToList();
// if found item rows
if (ds.Count() > 0)
{
this.myDataGridView.DataSource = ds;
}
}
}
Code (VB.Net)
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Create new entities Object
Using db = New myDatabaseEntities()
' Get data from CUSTOMER
Dim ds = (From c In db.CUSTOMER
Order By c.USED Descending
Select c).ToList()
' if found item rows
If ds.Count() > 0 Then
Me.myDataGridView.DataSource = ds
End If
End Using
End Sub
สามารถเขียนได้อีกวิธีเช่น
Code (C#)
private void frmMain_Load(object sender, EventArgs e)
{
// Create new entities Object
using (var db = new myDatabaseEntities())
{
// Get data from CUSTOMER
var ds = (from c in db.CUSTOMER
select c).ToList();
// Order by DESC
ds = ds.OrderByDescending(o => (o.USED)).ToList();
// if found item rows
if (ds.Count() > 0)
{
this.myDataGridView.DataSource = ds;
}
}
}
Code (VB.Net)
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Create new entities Object
Using db = New myDatabaseEntities()
' Get data from CUSTOMER
Dim ds = (From c In db.CUSTOMER
Select c).ToList()
' Order by DESC
ds = ds.OrderByDescending(Function(o) (o.USED)).ToList()
' if found item rows
If ds.Count() > 0 Then
Me.myDataGridView.DataSource = ds
End If
End Using
End Sub
Screenshot
Example 3 : การ Select และ ORDER BY มากกว่า 1 คอลัมบ์
Code (C#)
private void frmMain_Load(object sender, EventArgs e)
{
// Create new entities Object
using (var db = new myDatabaseEntities())
{
// Get data from CUSTOMER
var ds = (from c in db.CUSTOMER
orderby c.USED descending , c.COUNTRY_CODE ascending
select c).ToList();
// if found item rows
if (ds.Count() > 0)
{
this.myDataGridView.DataSource = ds;
}
}
}
Code (VB.Net)
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Create new entities Object
Using db = New myDatabaseEntities()
' Get data from CUSTOMER
Dim ds = (From c In db.CUSTOMER
Order By c.USED Descending, c.COUNTRY_CODE Ascending
Select c).ToList()
' if found item rows
If ds.Count() > 0 Then
Me.myDataGridView.DataSource = ds
End If
End Using
End Sub
Screenshot
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2015-10-02 21:15:49 /
2017-03-24 22:57:28 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|
|
|