ARTICLE

Correlated Query Operation With Lambda Operator in C#

Posted by Vijay Prativadi Articles | LINQ November 28, 2012
Today, in this article let's play around with one of the interesting and most useful concepts in C# with Lambda.
Reader Level:

Introduction

Today, in this article let's play around with one of the interesting and most useful concepts in C# with Lambda.

Question: What is correlated query operation with Lambda operator (=>) in C#?

In simple terms "It provides the ability to perform a correlated query operation with a Lambda operator in C#".

Step 1: Create a new WebForm project

New-project-in-asp.net.jpg

Step 2: The employee table output of the application looks like this:

Department-table-in-SQL-Server.jpg

Step 3: The department table output of the application looks like this:

Department-table-in-SQL-Server.jpg

Step 4: The complete code of WebForm1.aspx looks like this:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Co_related_Operation_Lambda_App.WebForm1" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <style type="text/css">

        .grid

        {

            margin-top: 50px;

        }

    </style>

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <center>

        <div>

            <table>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Label ID="Label1" runat="server" Text="Correlated Queries using Lambda Operator (=>)"

                            Font-Bold="true" Font-Size="Large" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button1" runat="server" Text="Select Data" Font-Names="Verdana" Width="213px"

                            BackColor="Orange" Font-Bold="True" OnClick="Button1_Click" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:GridView ID="GridView1" runat="server" CssClass="grid" BackColor="LightGoldenrodYellow"

                            BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">

                            <AlternatingRowStyle BackColor="PaleGoldenrod" />

                            <FooterStyle BackColor="Tan" />

                            <HeaderStyle BackColor="Tan" Font-Bold="True" />

                            <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />

                            <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />

                            <sortedascendingcellstyle backcolor="#FAFAE7" />

                            <sortedascendingheaderstyle backcolor="#DAC09E" />

                            <sorteddescendingcellstyle backcolor="#E1DB9C" />

                            <sorteddescendingheaderstyle backcolor="#C2A47B" />

                        </asp:GridView>

                    </td>

                </tr>

            </table>

        </div>

    </center>

    </form>

</body>

</html>


Step 5: The complete code of WebForm1.aspx.cs looks like this:
 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace Co_related_Operation_Lambda_App

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

        }

        protected void Button1_Click(object sender, EventArgs e)

        {

            var query = objEntities.Employee.Where(r => r.Location == objEntities.Department.Where(q => q.Location == r.Location).Select(q => q.Location).FirstOrDefault()).Select(r => new { FirstName = r.FirstName, LastName = r.LastName, Age = r.Age, Location = r.Location });

            GridView1.DataSource = query; GridView1.DataBind();

        }

        #region Instance

        MembersCompanyEntities objEntities = new CompanyEntities();

        #endregion

    }

}

Step 6: The output of the application looks like this:


App-output-in-asp.net.jpg

Step 7: The co-relation operation with Lambda output of the application looks like this:


corelated-queries-in-asp.net.jpg

Login to add your contents and source code to this article
comments
COMMENT USING
PREMIUM SPONSORS
Infragistics is experts in technology and design, and passionate about helping you build highly performant and stylish applications that solve problems, deliver inspiration, and maximize results.
SPONSORED BY