‫معرفی LINQ

چند روز پیش مطلبی در همین جا نوشتم به عنوان «داستان بی‌سوادی ما». در آنجا از دست خودم شاکی بودم که چرا به اندازه کافی به روز نیستم و بعضی چیزها را به موقع یاد نمی‌گیرم. تعدادی از دوستان هم با بنده همدردی کرده و گفته بودند آنها هم از همین مشکل رنج می‌برند. حال می‌خواهم در ادامه همان داستان عرض کنم تا دیر نشده به یادگیری کامل LINQ و به کارگیری آن بپردازند. LINQ یک ابزار خیلی خوب برای نوشتن کوئری‌های استخراج اطلاعات از SQL، NHibernate، XML، Object و غیره است که دارای مزایای زیادی است از جمله:

۱- همه چیز Strongly Typed است در نتیجه بسیاری از خطاها در همان زمان کامپایل کشف می‌شوند نه در زمان اجرا. مثلا فرض کنید یک کوئری SQL را به صورت استرینگ در داخل کد سی‌شارپ به کار برده‌اید. اگر این کوئری ایرادی داشته باشد تا زمان اجرا (Runtime) مشخص نخواهد شد. چون کامپایلر سی‌شارپ محتوای داخل استرینگ‌ها را مورد بررسی قرار نمی‌دهد.
۲- با کمک LINQ می‌توان کار با SQL، XML و غیره را در هم آمیخته و مقدار زیادی در نوشتن کد صرفه جویی کرد. مثلا می‌شود یک کوئری LINQ برای استخراج اطلاعات از SQL Server نوشته و در دل همان کوئری یک XML هم ساخت.
۳- کدهای LINQ خواناتر و «قابل نگهداری‌تر» از کدهای SQL، HQL، NHibernate Criteria و غیره می‌باشد.
۴- با یادگیری فقط یک زبان/فناوری به اسم LINQ می‌توان از یادگیری چندین زبان/فناوری/API از جمله XML DOM، SQL، NHibernate Criteria و… خلاص شد.
۵-

پ.ن.۱: برای یادگیری LINQ توصیه می‌کنم از کتاب Manning LINQ in Action استفاده کنید.
پ.ن.۲: برای آشنایی اولیه با LINQ و زیبایی‌های آن از وبلاگ وحید نصیری استفاده فرمایید.
پ.ن.۳: LINQ از نسخه ۳٫۵ به دات‌نت فریمورک اضافه شده است.
پ.ن.۴: مدتی است که LINQ to NHibernate نیز عرضه شده و مورد استفاده دوستان می‌باشد.

Comments

  1. محمد

    با تشکر
    موافقم گرچه در برخورد اول کنار آمدن با روش ها و سینتکس های عجیب و غریب آن کمی سخته اما واقعا در دراز مدت و در کارهای بزرگ ارزشش مشخص میشه

  2. مسعود ( MDP )

    چند تا تکنلوژی هست که اگه کسی الان بلد نباشه میشه گفت از دنیای دات نت یه قدم عقبه که این ها هستند ( ترتیبش مهم نیست ) :

    1 – LINQ
    2 – EF or L2S or NHibernate
    3 – WCF
    4 – WPF and SL

    یه چیز مهم دیگه هم Design Pattern ها هستند.
    واقعا بدون این ها برنامه نویسی زیباییش کم میشه.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *