LINQ چیست و آنچه بایستی درباره آن بدانید !

در دوره آموزشی برنامه نویسی LINQ در آموزشگاه کامپیوتر کلیک، نحوه تبدیل انواع مدل داده را با کمک زبان برنامه نویسی LINQ که بسیار کاربردی و جذاب است را خواهید آموخت.
یکی از موجودات جدیدی که در دنیای برنامه نویسی شی گرای دات نت درحال پرورش است، زبان جالبی به نام LINQ است. کلمه LINQ مخفف Language Integrated Query است.منطق زبان LINQ از روی زبان SQL گرفته شده است و این زبان در پی پاسخ دادن به مسئله پیچیده ای در دنیای برنامه نویسی پیشرفته است که مثلث راکس (ROX Triangle) نامیده می شود. پس اجازه بدهید ببینیم مثلث راکس چیست.
این روزها اکثر برنامه نویسانی که با زبانهای شی گرایی مثل سی شارپ یا جاوا کار می کنند، از دو ابزار مهم دیگرنیز برای ساختن برنامه های خود استفاده میکنند:یکی از این ابزارها دیتابیس یا همان بانک اطلاعاتی و دیگری XML است. البته XML موجود جدیدی در بافت نرم افزارها است، ولی اکنون معلوم شده که با حضور اینترنت دردنیای کامپیوتر، استفاده از XML تقریبا قابل چشم پوشی نیست.
مشکلی که برنامه نویسان با آن درگیرند این است که هر یک از این سه ابزار از منطق ومدل داده ای (Data Model) متفاوتی پیروی میکنند. مدل داده ها در بانک های اطلاعاتی معمولاً زبان SQL است. در حالی که هر زبان برنامه نویسی مدل دادهای خاصی دارد.مثلاً پلتفرم دات نت از فناوری ADO.NET استفاده می کند. واضح است که مدل داده ها در ADO.NET و SQL تفاوت های زیادی با هم دارند. مدل داده ها در فرمت XML هم به گونه دیگری است. درXML باید از زبان XQuery استفاده کنید.

مزیت استفاده از زبان برنامه نویسی LINQ چیست؟
برنامه نویس در حین کار روزمره خود مرتباً نیاز دارد داده های خود را از یک مدل به مدل دیگر منتقل کند. مثلاً در یک برنامه مدیریت فروش محصولات، گاهی برنامه نویس لازم میداند داده های مشتریان را از بانک اطلاعاتی (مثلا ًSQL Server یا MySQL یا ORACLE) بخواند و سپس به فرمت XML تبدیل کند تا بتواند آن را از مجرای اینترنت (مثلاً از طریق وب سرویس ها) عبور دهد. در این صورت ناگزیر است همزمان داده ها را ابتدا با منطق SQL بخواند، سپس با منطقBusiness Tier (مثل ADO.NET) پردازش کند و سپس با منطق XQuery تبدیل کند.
اریک میر از متخصصان SQL Server در شرکت مایکروسافت این سه گانگی را مثلث ROX نامیده است .تیم توسعه پلتفرم دات نت درمایکروسافت بر همین اساس در حال طراحی و توسعه دو API برای زبان برنامه نویسی LINQ است.یکی از اینها مجموعه DLINQ است که برای پیاده سازی زبان LINQ روی ADO.NET به کار می رود. دیگری XLINQ نامیده شده که برای امکان پذیر ساختن استفاده از منطق زبان برنامه نویسی LINQ روی XML به کار می رود.
کوشش بر این است که syntax برنامه نویسی در هر دو مورد مشابه زبان SQL باشد. به گونه ای که برنامه نویسی بدون توجه به اینکه از کدام API زبان استفاده میکند،به یک شیوه بتواند با داده ها کارکند.یکی از اهدافی که این تیم از به کارگیری منطق زبان برنامه نویسی LINQ در زبانهای برنامه نویسی دات نت دنبال می کند، امکان پذیر ساختن اشکال زدایی ازعبارات Query است. اگر برنامه نویس باشید، حتماً می دانید که تمام قسمت های یک کد منهای عبارات Query که به صورت رشته های متنی می آیند،قابل اشکال زدایی یا Debugging هستند.قرارگرفتن عبارات Query به صورت مقادیر متنی داخل سورس کد، عملاً اشکال زدایی از آنها را دشوارمیکند. با به کارگیری منطق زبان برنامه نویسی LINQ این مشکل به مقدار زیادی حل میشود زیرا Query ها به جای اینکه به صورت مقادیر متنی نوشته شوند، بخشی از سورس کد هستند. به همین دلیل این تکنیک نامگذاری شده است.
به صورت خلاصه زبان برنامه نویسی LINQ یک واسط بین اطلاعات و برنامه های کاربردی است که دارای سرعت نسبتا بالاتری می باشد؛ همچنین یک زبان برای گرفتن Query از هر نوع مجموعه داده (Database، آرایه ها، XML و…) است.
دوره های آموزشی پیشنهادی ما برای موفقیت بیشتر شما :در دوره آموزشی برنامه نویسی LINQ ، صفر تا صد زبان برنامه نویسی جذاب و پرکاربرد LINQ را خواهید آموخت .