How to Perform Self JOIN using LINQ to SQL

Introduction

In this blog we will see how to perform self join using linq to sql.

Step 1: Create ASP.NET Webforms application

Webform1.aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="SelfJoin_LINQtoSQL.WebForm1" %>  
  2.   
  3. <!DOCTYPE html>  
  4.   
  5. <html xmlns="http://www.w3.org/1999/xhtml">  
  6. <head runat="server">  
  7.     <title></title>  
  8. </head>  
  9. <body>  
  10.     <form id="form1" runat="server">  
  11.     <div>  
  12.         <asp:GridView ID="GridView1" runat="server"></asp:GridView>  
  13.     </div>  
  14.     </form>  
  15. </body>  
  16. </html>  

Webform1.aspx.cs

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7.   
  8. namespace SelfJoin_LINQtoSQL  
  9. {  
  10.     public partial class WebForm1 : System.Web.UI.Page  
  11.     {  
  12.         DataClasses1DataContext objContext = new DataClasses1DataContext();  
  13.         protected void Page_Load(object sender, EventArgs e)  
  14.         {  
  15.             var query = (from r in objContext.Employees  
  16.                         join s in objContext.Employees  
  17.                         on r.EmpId equals s.DeptId  
  18.                         select new  
  19.                         {  
  20.                             FirstName = r.FirstName  
  21.                            ,LastName = r.LastName  
  22.                         });  
  23.   
  24.             GridView1.DataSource = query;  
  25.             GridView1.DataBind();  
  26.         }  
  27.     }  
  28. }  

Output of the application looks like this

Summary

In this blog we have seen how we can perform self join using linq to sql. Happy coding!

MVC Corporation
MVC Corporation is consulting and IT services based company.