Right Join (LINQ, Entity Framework) |
Right Join (LINQ, Entity Framework) ในการเขียน Entity Framework ด้วย LINQ to Entities จะไม่มีคำสั่ง Right Join ที่จะให้ความสำคัญกับ Table ด้านขวาเป็นหลัก ฉะนั้นจะต้องประยุกต์ใช่หลักการเดียวกับ Left Join คือ ย้ายมันมาให้อยู่ใน Table ด้านซ้าย จากนั้นก็จะใช้ Concept เดียวกับการใช้ Left Join
Table สมมุติกรณีที่มีข้อมูล เฉพาะใน Table ด้านขวา แต่ Table ในด้านซ้ายไม่มีข้อมูล
Example 1 : การ Right Join ข้อมูลด้วยการประยุกต์จาก Left Join
Code (C#)
private void frmMain_Load(object sender, EventArgs e)
{
// Create new entities Object
using (var db = new myDatabaseEntities())
{
// Get data from CUSTOMER and CUSTOMER
var ds = (from c in db.COUNTRY
join d in db.CUSTOMER on c.COUNTRY_CODE equals d.COUNTRY_CODE into d2
from f in d2.DefaultIfEmpty()
select new
{
CountryName = (c.COUNTRY_NAME == null ? "-" : c.COUNTRY_NAME),
CusID = f.CUSTOMER_ID,
CusName = f.NAME,
}).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 and CUSTOMER
Dim ds = (From c In db.COUNTRY
Group Join d In db.CUSTOMER On c.COUNTRY_CODE Equals d.COUNTRY_CODE Into Group
From f In Group.DefaultIfEmpty()
Select New With { _
.CountryName = (If(c.COUNTRY_NAME Is Nothing, "-", c.COUNTRY_NAME)), _
.CusID = f.CUSTOMER_ID, _
.CusName = f.NAME _
}).ToList()
' if found item rows
If ds.Count() > 0 Then
Me.myDataGridView.DataSource = ds
End If
End Using
End Sub
Screenshot
ผลลัพธ์ที่ได้จากการใช้ Right Join ซึ่งจะต้องใช้ Concept ของ Left Join
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2015-10-02 21:16:51 /
2017-03-24 23:07:02 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|