LINQ Query Syntax

Microsoft Technologies - লিংক (LinQ) LINQ সিনট্যাক্স এবং পদ্ধতি (LINQ Syntax and Methods) |
255
255

LINQ Query Syntax

LINQ Query Syntax হল LINQ কুয়েরি লেখার একটি পদ্ধতি যা SQL-এর মতো দেখতে এবং এটি .NET ভাষার মধ্যে সহজভাবে ডেটা কুয়েরি করার সুযোগ প্রদান করে। এটি from, where, select, orderby এবং group by শব্দগুলি ব্যবহার করে কুয়েরি তৈরি করা হয়, যা SQL কুয়েরির মতোই মনে হয়। LINQ Query Syntax সাধারণত কোডকে পরিষ্কার, রিডেবল এবং সহজবোধ্য করে তোলে।


LINQ Query Syntax এর মূল উপাদান

from: এটি কুয়েরির শুরুতে ব্যবহার করা হয় এবং এর মাধ্যমে ডেটার সোর্সের উপর লুপ করা হয়।
where: এটি শর্তযুক্ত ফিল্টার প্রয়োগ করার জন্য ব্যবহৃত হয়, যা কুয়েরি থেকে নির্দিষ্ট শর্তের ডেটা বাছাই করে।
select: এটি নির্বাচিত ডেটা বা মান ফেরত দেওয়ার জন্য ব্যবহৃত হয়।
orderby: এটি ডেটাকে নির্দিষ্ট ক্রমে সাজানোর জন্য ব্যবহার করা হয়।
group by: এটি ডেটাকে গ্রুপ করতে ব্যবহৃত হয়, সাধারণত নির্দিষ্ট একক মানের ভিত্তিতে।


LINQ Query Syntax এর উদাহরণ

ডেটা রিড করা (Read Data)

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// Query Syntax ব্যবহার করে even numbers বের করা
var evenNumbers = from num in numbers
                  where num % 2 == 0
                  select num;

foreach (var num in evenNumbers)
{
    Console.WriteLine(num);  // Output: 2, 4, 6, 8, 10
}

এখানে numbers লিস্টের মধ্যে থেকে even (জোড়) সংখ্যাগুলো বাছাই করা হয়েছে।

ডেটা অর্ডার করা (Order Data)

List<int> numbers = new List<int> { 1, 9, 3, 5, 7, 8, 4, 6, 2, 10 };

// Query Syntax ব্যবহার করে numbers গুলো ascending order এ সাজানো
var orderedNumbers = from num in numbers
                     orderby num ascending
                     select num;

foreach (var num in orderedNumbers)
{
    Console.WriteLine(num);  // Output: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
}

এখানে orderby ব্যবহার করে ডেটাকে ascending অর্ডারে সাজানো হয়েছে।

গ্রুপিং (Grouping)

List<string> words = new List<string> { "apple", "banana", "avocado", "blueberry", "cherry" };

// Query Syntax ব্যবহার করে শব্দগুলো প্রথম অক্ষরের ভিত্তিতে গ্রুপ করা
var groupedWords = from word in words
                   group word by word[0] into wordGroup
                   select wordGroup;

foreach (var group in groupedWords)
{
    Console.WriteLine($"Words starting with {group.Key}:");
    foreach (var word in group)
    {
        Console.WriteLine(word);
    }
}

এখানে group by ব্যবহার করে শব্দগুলো তাদের প্রথম অক্ষরের ভিত্তিতে গ্রুপ করা হয়েছে।

নির্বাচিত মান (Projection)

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };

// Query Syntax ব্যবহার করে numbers গুলোকে দ্বিগুণ করে নির্বাচন করা
var doubledNumbers = from num in numbers
                     select num * 2;

foreach (var num in doubledNumbers)
{
    Console.WriteLine(num);  // Output: 2, 4, 6, 8, 10, 12
}

এখানে select ব্যবহার করে প্রতিটি সংখ্যার দ্বিগুণ (double) মান বের করা হয়েছে।

অপশনাল শর্ত যোগ করা (Optional Condition)

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };

// Query Syntax ব্যবহার করে number 3 এর বেশি হতে হবে এবং even হতে হবে এমন সংখ্যা বের করা
var result = from num in numbers
             where num > 3 && num % 2 == 0
             select num;

foreach (var num in result)
{
    Console.WriteLine(num);  // Output: 4, 6
}

এখানে where শর্ত ব্যবহার করা হয়েছে যাতে কেবল 3 এর বেশি এবং even সংখ্যাগুলি নির্বাচন করা হয়।


LINQ Query Syntax এর সুবিধা

SQL-এর মতো সিনট্যাক্স: LINQ Query Syntax SQL এর মতো দেখতে হওয়ায়, SQL জানেন এমন ডেভেলপারদের জন্য এটি খুবই পরিচিত এবং সহজ।
রিডেবল এবং পরিষ্কার: LINQ Query Syntax কোডকে সহজে পড়া এবং বোঝা যায়।
বেশি কাস্টমাইজেশন: জটিল কুয়েরি যেমন গ্রুপিং, অর্ডারিং, এবং ফিল্টারিং করা খুব সহজ।
টাইপ সেফটি: LINQ Query Syntax টাইপ সেফ, তাই কম্পাইল টাইমে ত্রুটি ধরা যায়।


LINQ Query Syntax এর সীমাবদ্ধতা

প্ল্যানিং: কিছু জটিল কুয়েরি যখন খুব বড় বা উচ্চমানের হতে থাকে, তখন LINQ Method Syntax আরো বেশি কার্যকরী হতে পারে।
কিছু ডেটাবেস ফিচার সমর্থন: LINQ Query Syntax সব ধরনের SQL কুয়েরির ফিচার সমর্থন নাও করতে পারে, যেমন কিছু জটিল SQL ফাংশন।
কার্যকারিতা: কিছু বড় এবং জটিল কুয়েরি প্রয়োগে Query Syntax কিছুটা ধীর হতে পারে।


সারাংশ

LINQ Query Syntax হল LINQ এর একটি সহজ এবং SQL-এর মতো দেখতে পদ্ধতি, যা ডেটা কুয়েরি করার জন্য ব্যবহার করা হয়। এটি from, where, select, orderby, এবং group by মতো SQL-অনুপ্রাণিত কিওয়ার্ড ব্যবহার করে কোড লেখা সহজ এবং পরিষ্কার করে তোলে। LINQ Query Syntax ব্যবহারের মাধ্যমে ডেভেলপাররা সহজে ডেটার ফিল্টারিং, অর্ডারিং, গ্রুপিং এবং সিলেকশন করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion