-->

Thursday, April 10, 2014

How to use LINQ Join operator in ASP.NET

How to use LINQ Join operator in ASP.NET

Introduction

The Join operators in LINQ are used to join objects in one data source with objects that share a common attribute in another data source. The Join operators provided in LINQ are Join and GroupJoin. The Join clause implements an inner join, which is the type of join in which only those objects that have a match in other data set are returned. The GroupJoin clause joins two sequence based on a key selector functions and groups the results. The syntax of using the Join operator is:

Syntax in C#

public static IEnumerable<V> Join<T, U, K, V>( this IEnumerable<T> outer, IEnumerable<U> inner, Function<T, K> outerKeySeIector, Function<U, K> innerKeySelector, Function<T, U, V> resultSelector);

Lets take an simple example

<div>
        <asp:ListBox ID="ListBox1" runat="server" Height="151px" Width="134px"></asp:ListBox>
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" Text="Join Operator example" 
            onclick="Button1_Click" />
    </div>
Code behind Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default9 : System.Web.UI.Page
{
    public class Customer
    {
        public int key;
        public string Name;
    }
    public class order
    {
        public int key;
        public string OrderNumber;


    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        var customers = new List<Customer>()
        {
new Customer {key =1,Name ="jacob"},
new Customer {key=2,Name ="smith"}
        };
        var orders = new List<order>()
        {
            new order {key=1,OrderNumber ="Number 1"},
            new order {key =2,OrderNumber ="Number 2"}

        };

        var q = from c in customers
                join o in orders on c.key equals o.key
                select new { c.Name, o.OrderNumber };
        foreach (var item in q)
        {
            ListBox1.Items.Add(item.OrderNumber.ToString() + " " + item.Name);
        }
    }
}
Code generate the following output
How to use LINQ Join operator in ASP.NET

Read other related articles

Also read other articles

© Copyright 2013 Computer Programming | All Right Reserved