বাম বাইরের যোগদানগুলি কীভাবে সম্পাদন করবেন - C# এ LINQ

Bama Ba Irera Yogadanaguli Kibhabe Sampadana Karabena C E Linq



এসকিউএল-এ বাম টেবিল এবং ডান টেবিল থেকে মিলে যাওয়া রেকর্ড প্রদর্শনের জন্য বাম বাইরের যোগ এক ধরনের যোগদান অপারেশন যা ব্যবহার করা হয়। LINQ-এ, GroupJoin() এবং SelectMany() পদ্ধতি ব্যবহার করে বাম বাইরের যোগদান করা যেতে পারে, এই নিবন্ধটি C# ব্যবহার করে LINQ-এ বাম বাইরের যোগদানের বিষয়ে ব্যাপকভাবে আলোচনা করবে।

কীভাবে C# ব্যবহার করে LINQ-এ বাম বাইরের যোগদান সম্পাদন করবেন

LINQ-এ একটি বাম বাইরের যোগদান করতে, আপনি একটি সাধারণ কী-এর উপর ভিত্তি করে দুটি সিকোয়েন্সে যোগ দিতে GroupJoin() পদ্ধতি ব্যবহার করতে পারেন এবং তারপর ফলাফল সমতল করতে SelectMany() পদ্ধতি ব্যবহার করতে পারেন, এখানে একটি উদাহরণ দেওয়া হল:







সিস্টেম ব্যবহার করে;
System.Linq ব্যবহার করে;

ক্লাস প্রোগ্রাম
{
স্ট্যাটিক শূন্যতা প্রধান ( )
{
var left = নতুন [ ] { 1 , 2 , 3 } ;
var ডান = নতুন [ ] { 2 , 3 , 4 } ;
var ফলাফল = left.GroupJoin (
ঠিক,
l = > আমি
r = > আর,
( l, r ) = > নতুন { বাম = l, ডান = r.DefaultIfEmpty ( ) } )
.অনেক নির্বাচন করুন (
lr = > lr.Right.Select (
r = > নতুন { Left = lr. Left, Right = r } ) ) ;
প্রতিটির জন্য ( var আইটেম ভিতরে ফলাফল )
{
Console.WriteLine ( '{0} {1}' , আইটেম।বাম, আইটেম।ডান ) ;
}
}
}



এই কোডটি বাম এবং ডান দুটি অ্যারেতে একটি বাম বাইরের যোগদান করে এবং ফলাফলটি কনসোলে প্রিন্ট করে। GroupJoin() পদ্ধতি যোগদান সম্পাদন করে, এবং অনেক নির্বাচন করুন() ফলাফল সমতল করার জন্য পদ্ধতি ব্যবহার করা হয়। অবশেষে, ফলাফল একটি foreach লুপ এবং WriteLine() ফাংশন ব্যবহার করে কনসোলে মুদ্রিত হয়:







এখানে একটি অন্য উদাহরণ রয়েছে যা সংশ্লিষ্ট কর্মচারীর নাম এবং তাদের প্রাসঙ্গিক বিভাগগুলি প্রদর্শন করে বাম আউট যোগদানের ব্যবহার প্রদর্শন করে। প্রতিটি কর্মচারী প্রতিটি বিভাগকে একটি নম্বর বরাদ্দ করা হয়েছে যা তারপর সংশ্লিষ্ট বিভাগের সাথে সংশ্লিষ্ট কর্মচারীর সাথে মেলে, এখানে এটির জন্য সম্পূর্ণ কোড রয়েছে:

সিস্টেম ব্যবহার করে;
System.Collections.Generic ব্যবহার করে;
System.Linq ব্যবহার করে;

নামস্থান YourNamespace
{
ক্লাস প্রোগ্রাম
{
স্ট্যাটিক শূন্যতা প্রধান ( স্ট্রিং [ ] args )
{
তালিকা < কর্মকর্তার নাম > কর্মচারী = নতুন তালিকা < কর্মকর্তার নাম >
{
নতুন কর্মচারীর নাম { আইডি = 1 , নাম = 'নিজেই' , DepartmentId = 1 } ,
নতুন কর্মচারীর নাম { আইডি = 2 , নাম = 'জন' , DepartmentId = 2 } ,
নতুন কর্মচারীর নাম { আইডি = 3 , নাম = 'কেভিন' , DepartmentId = 2 } ,
নতুন কর্মচারীর নাম { আইডি = 4 , নাম = 'বব' , DepartmentId = 3 }
} ;

তালিকা < বিভাগ > বিভাগ = নতুন তালিকা < বিভাগ >
{
নতুন বিভাগ { আইডি = 1 , নাম = 'কন্টেন্ট রাইটিং' } ,
নতুন বিভাগ { আইডি = 2 , নাম = 'বিপণন' } ,
নতুন বিভাগ { আইডি = 3 , নাম = 'প্রকৌশল' }
} ;

var প্রশ্ন = কর্মীর নাম থেকে ভিতরে কর্মচারী
যোগদান বিভাগ ভিতরে বিভাগ
কর্মচারীর নাম। ডিপার্টমেন্টআইডি ডিপার্টমেন্টের সমান। ডিপার্টমেন্ট গ্রুপে আইডি
বিভাগ থেকে ভিতরে DepartmentGroup.DefaultIfEmpty ( )
নির্বাচন করুন নতুন { কর্মচারীর নাম = কর্মীর নাম।নাম, বিভাগের নাম = বিভাগ?।নাম ?? 'কিছুই না' } ;

প্রতিটির জন্য ( ফলাফল ছিল ভিতরে প্রশ্ন )
{
Console.WriteLine ( $ 'কর্মচারীর নাম: {result.EmployeenameName}, বিভাগ: {result.DepartmentName}' ) ;
}
}
}

শ্রেণীর কর্মচারীর নাম
{
পাবলিক int আইডি { পাওয়া; সেট ; }
সর্বজনীন স্ট্রিং নাম { পাওয়া; সেট ; }
পাবলিক int DepartmentId { পাওয়া; সেট ; }
}

শ্রেণী বিভাগ
{
পাবলিক int আইডি { পাওয়া; সেট ; }
সর্বজনীন স্ট্রিং নাম { পাওয়া; সেট ; }
}
}



প্রথমে একটি নমুনা ডেটা দেওয়া হয় যাতে কর্মচারীর নাম এবং বিভাগের নাম থাকে এবং তারপরে প্রতিটিকে একটি সংশ্লিষ্ট নম্বর দেওয়া হয়। এরপর জয়েন কমান্ড ব্যবহার করে জয়েন অপারেশন সঞ্চালিত হয় এবং এর পরে ফলাফলটি একটি ভেরিয়েবল নামের ক্যোয়ারীতে সংরক্ষিত হয়, পরবর্তীতে ফর লুপটি সংশ্লিষ্ট কর্মচারীদের নাম এবং বিভাগ প্রিন্ট করতে ব্যবহৃত হয় এবং কোডের আউটপুটটি এরকম হবে। :

উপসংহার

বাম বাইরের যোগদান SQL-এ একটি সাধারণ ক্রিয়াকলাপ, এবং C# এ LINQ ব্যবহার করে সহজে সঞ্চালিত হতে পারে। GroupJoin() এবং SelectMany() পদ্ধতি ব্যবহার করে, আপনি একটি সাধারণ কী-এর উপর ভিত্তি করে দুটি সিকোয়েন্সে বাম বাইরের যোগদান করতে পারেন। যদিও LINQ-এ বাম বাইরের যোগদানের জন্য সিনট্যাক্সটি নতুনদের জন্য বোঝা কঠিন হতে পারে, এটি একটি শক্তিশালী এবং নমনীয় ভাষা যা জটিল প্রশ্নগুলিকে সহজেই সম্পাদন করতে দেয়।