Tuesday, 10 July 2018

019 LINQ RIGHT OUTER JOIN

 
Left outer join return all element of the second collection,does not matter whether it has any correlated elements in the first collection.You can implement LINQ right outer join by applying the DefaultIfEmpty method on the results of a group join.


Here is the exmaple
----------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Data;
using System.Linq;
using System.Collections;
using System.Xml;
using System.Xml.Linq;
using System.IO;

namespace ConsoleApplication1
{
              class Program
              {
                      static void Main(string[] args)
                        {

                                  var students = new student[]
                                    {
                                           new student{name = "John1",roll=123,age=12},
                                           new student{name = "John2",roll=124,age=13},
                                           new student{name = "John3",roll=125,age=14},
                                           new student{name = "John4",roll=126,age=15},
                                           new student{name = "John5",roll=127,age=16},
                                           new student{name = "John6",roll=128,age=17},
                                           new student{name = "John7",roll=129,age=18}
                                   };


                                var students2 = new student2[]
                                {
                                          new student2{address = "12,ABC Road",roll=123,age=12},
                                          new student2{address = "13,ABC Road",roll=124,age=13},
                                          new student2{address = "14,ABC Road",roll=125,age=14},
                                          new student2{address = "15,ABC Road",roll=126,age=15},
                                          new student2{address = "16,ABC Road",roll=132,age=16},
                                          new student2{address = "17,ABC Road",roll=133,age=17},
                                          new student2{address = "18,ABC Road",roll=134,age=17}
                             };

                             var query = from proj in students
                                                 join employee in students2
                                                  on proj.roll equals employee.roll into joinDeptEmp
                                                 from employee in joinDeptEmp.DefaultIfEmpty()
                                                 select new
                                                 {
                                                         name = proj.name,
                                                         address = employee.address,
                                                         age = proj.age,
                                                         roll = proj.roll
                                                 };

                                                foreach (var obj in query)
                                                 {
                                                         Console.WriteLine("Name :{0} ,Age :{0},Roll :{0},Address :{0}", obj.name, obj.address, obj.age, obj.roll);
                                                }

                                    Console.ReadKey();
                       }
              }

}

public class student
{
           public string name { get; set; }
           public int roll { get; set; }
           public int age { get; set; }
}

public class student2
{
               public string address { get; set; }
               public int roll { get; set; }
               public int age { get; set; }
}

Output :

Name :John1 ,Age :John1,Roll :John1,Address :John1
Name :John2 ,Age :John2,Roll :John2,Address :John2
Name :John3 ,Age :John3,Roll :John3,Address :John3
Name :John4 ,Age :John4,Roll :John4,Address :John4



No comments:

Post a Comment

বাঙালির বেড়ানো সেরা চারটি ঠিকানা

  বাঙালি মানে ঘোড়া পাগল | দু একদিন ছুটি পেলো মানে বাঙালি চলল ঘুরতে | সে সমুদ্রই হোক , পাহাড়ি হোক বা নদী হোক। বাঙালির ...