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
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="SelfJoin_LINQtoSQL.WebForm1" %>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:GridView ID="GridView1" runat="server"></asp:GridView>
- </div>
- </form>
- </body>
- </html>
Webform1.aspx.cs
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- namespace SelfJoin_LINQtoSQL
- {
- public partial class WebForm1 : System.Web.UI.Page
- {
- DataClasses1DataContext objContext = new DataClasses1DataContext();
- protected void Page_Load(object sender, EventArgs e)
- {
- var query = (from r in objContext.Employees
- join s in objContext.Employees
- on r.EmpId equals s.DeptId
- select new
- {
- FirstName = r.FirstName
- ,LastName = r.LastName
- });
- GridView1.DataSource = query;
- GridView1.DataBind();
- }
- }
- }
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!

Join the conversation! Your thoughts help the community grow.