LINQ چیست ؟

LINQ مخفف Language Integrated Query به معنای زبان پرس و جوی یکپارچه است که در دات نت نسخه 3.5 معرفی شد و به برنامه نویس اجازه می دهد داده ها را از هر نوع منبع داده ای بدون نیاز به دانستن یک زبان دیگر پرس و جو کند. پرس و جو فرایند به دست آوردن داده از منبع داده است. LINQ پرس و جوی داده از منابع داده ای مختلف را بسیار راحت کرده است. این زبان با زبانهای C# و VB آمیخته شده است و چندین کلمه کلیدی و دستور زبان برای استفاده از آن به دو زبان مذکور اضافه شده است. قبل از ورود LINQ، برنامه نویسان مجموعه کدهای مختلفی برای منابع داده ای مختلف می نوشتند. به عنوان مثال، برای پرس و جو در یک دیتابیس SQL از دستورات SQL یا برای فایل های XML از Xpath استفاده می کردند. اما اکنون با استفاده از قدرت LINQ فقط لازم است با کلمات کلیدی LINQ و متدهای آن که در دات نت 3.5 معرفی شدند آشنا باشید.

طراحی انباره داده

چندین نوع LINQ به دلیل وجود provider های مختلف وجود دارد (شکل بالا). ویژوال استودیو دارای چندین provider مانند LINQ to Objects می باشد. در این قسمت تمرکز ما بر LINQ to Objects است که در پرس و جوی مجموعه ای از اشیاء در کد شما که رابط IEnumerable را پیاده سازی می کنند مورد استفاده قرار می گیرد. مثال هایی از این اشیاء، آرایه ها و لیست ها یا یک مجموعه سقارشی می باشد که شما ایجاد کرده اید. LINQ to SQL هم مخصوصا طوری طراحی شده است که پرس و جوی دیتابیس های SQL Server را راحت می کند. برای پرس و جوی فایل های XML، می توان از LINQ to XML استفاده نمود. همچنین می توان LINQ را برای پرس و جوی انواع منابع داده ای دیگر بسط داد.
تکنیک های پرس و جو به کار فته در درس های زیر می توانند در انواع مختلف LINQ مورد استفاده قرار بگیرند. شما می تونید با استفاده از متد های الحاقی که در رابط IEnumerable تعریف شده اند از LINQ استفاده کنید. می توانید این متدها را مستقیما فراخوانی کنید، اما باید درباره عبارات لامبدا اطلاعاتی داشته باشید. همچنین می توان از عبارات پرس و جو که دستور زبانی شبیه به SQL دارند استفاده کرد. عبارات پرس و جو ابزار مهمی هستند. عبارت های پرس و جو ابزار اصلی برای دسترسی به داده ها با استفاده از LINQ به شمار می آیند گرچه شما می توانید از متدهای الحاقی و عبارات لامبدا هم برای پرس و جو استفاده کنید.
زبان برنامه نویسی سی شارپ جز زبان های روالمند است به این معنی که شما برای حل یک مسئله باید قدم به قدم کد های آن را بنویسید ولی LINQ جز زبان های غبر روالمند است به این معنی که شما به کامپیوتر می گویید که چه چیزی را لازم دارید(صرف نظر از الگوریتم آن) و کامپیوتر آن را برای شما فراهم می کند. قبلا از LINQ ، شما فقط باید با استفاده از زبان های روالمند در بین نتایج پرس و جو می کردید . برای مثال فرض کنید که قصد دارید لیست تمامی اعداد زوج داخل یک آرایه را بدست آورید .
برای نوشتن راه حل مسئله بالا با استفاده از زبان برنامه نویسی سی شارپ کد شما چیزی شبیه کد زیر می شود :

List<int> evenNumbers = new List<int>();
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
foreach(int num in numbers)
{
    if (num % 2 == 0)
      evenNumbers.Add(num);
}

با استفاده از کد بالا شما به کامپیوتر دستور می دهید که تک تک مقادیر داخل آرایه را بررسی کند و مقادیری که با شرط داده شده مطابقت دارند را به لیست اضافه کند. حالا مثال بالا را با استفاده از زبان LINQ به شکل زیر بازنویسی کرده ایم :

List<int> evenNumbers = new List<int>();
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
foreach(int num in numbers)
{
    if (num % 2 == 0)
      evenNumbers.Add(num);
}

نرم افزار هوش تجاری , داشبورد مدیران , داشبورد مدیریتی , گزارش ساز , نرم افزار داشبورد

نرم افزار کلیک ویو ,آموزش کلیک ویو , هوش تجاری کلیک ویو , فیلم کلیک وی , دانلود کلیک ویو

نرم افزار مدیریت فرایند ها , مدیریت فرایند , سامانه ساز , پنجره واحد ,دولت الکترونیک , معماری سازمان , سیستم ساز

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.