LINQ چیست؟
LINQ یک زبان کوئری نویسی در زبان C# و VB.NET است که به منظور کار بر روی منابع داده ای مختلف ایجاد شده است. از آنجا که سینتکس این زبان در زبان C# و VB.NET یکسان است، می توان با یک سینتکس واحد بر روی انواع منابع داده کار کرد.
برای مثال، SQL یک زبان کوئری نویسی ساختار یافته است که به منظور بازیابی/ذخیره داده از/در دیتابیس استفاده می شود. همچنین LINQ نیز یک سینتکس کوئری نویسی ساختار یافته Built-in در سی شارپ و VB.NET است که به منظور بازیابی داده از انواع مختلف منابع داده مانند مجموعه ها، ADO.Net DataSet، XML Docs، Web service، MS SQL Server و سایر دیتابیس ها استفاده می شود.
کوئری های LINQ نتیجه را به صورت مجموعه از اشیاء باز میگردانند. این موضوع باعث می شود که توسعه دهنده بتواند از رویکرد OOP بر روی نتایج استفاده کند و دیگر نگران تبدیل داده ها از انواع مختلف به اشیاء قابل استفاده نباشد.
مثال LINQ to Array
مثال ساده زیر با استفاده از LINQ کل رشته هایی که شامل کاراکتر ‘a’ هستند را انتخاب کرده و نمایش می دهد:
1 2 3 4 5 6 7 8 9 10 11 | // Data source string[] names = {"Bill", "Steve", "James", "Mohan" }; // LINQ Query var myLinqQuery = from name in names where name.Contains('a') select name; // Query execution foreach(var name in myLinqQuery) Console.Write(name + " "); |
در مثال فوق، آرایه names به عنوان منبع داده (Data Source) است. بخش قابل توجه در کد فوق مربوط به کوئری LINQ است:
1 2 3 | from name in names where name.Contains('a') select name; |
در این قسمت ما از سینتکس مربوط به LINQ استفاده کرده ایم که در آینده آن بیشتر توضیح خواهیم داد.
توجه داشته باشید که تا زمانی که LINQ را اجرا نکنید، نتیجه ای به شما باز نمیگرداند. برای اجرای کوئری LINQ راه های مختلفی وجود دارد. یکی از آن ها حلقه foreach است که ما در مثال فوق استفاده کرده ایم. حلقه foreach کوئری را بر روی منبع داده اجرا کرده و نتیجه فیلتر شده را گرفته و با آن حلقه درست می کند.
نتیجه گیری
تا به اینجا یاد گرفتیم که کوئری LINQ باید بر روی یک منبع داده نوشته شود و این منبع داده می تواند یک آرایه، XML و یا سایر دیتابیس ها باشد. همچنین یاد گرفتیم که بعد از نوشتن کوئری باید آن را اجرا کنیم تا نتیحه مورد نظر را تولید کند.
هیچ نظری ثبت نشده است