مروری بر LINQ در C# 2008


امروزه دیگر نمی­توان منکر کاربرد نرم­افزار­های کامپیوتری در زندگی روزمره بشر گردید. همچنین در اکثر برنامه­هایی که امروزه بر روی کامپیوتر­ها به کار می­روند، استفاده از بانک­های اطلاعاتی انکارناپذیر است. به همین دلیل از اوایل دهه 80 میلادی تلاش­های فراوانی برای بهبود نرم­افزاری­های بانک اطلاعاتی گردید و منجر به ظهور مدل­های جدید و متعددی برای ایجاد پایگاه­های داده گردید. یکی از این مدل­ها که هم اکنون در بسیاری از نرم­افزارها پیاده سازی شده است مدل RDBMS می­باشد. به عنوان نمونه می­توان SQL Server و همچنین Oracle را نام برد. در حال حاضر، برای ایجاد و توسعه برنامه­های مبتنی بر بانک­های اطلاعاتی، این دو نرم­افزار بیشتر از مدل­های مشابه مورد استفاده قرار می­گیرند.

پس از انتخاب نرم­افزار ارائه دهنده خدمات بانک اطلاعاتی، نوبت به انتخاب زبان برنامه نویسی می­رسد. در اینجا نیز ذکر این مورد کافیست که اگر نگاهی که گذشته داشته باشیم متوجه می­شویم که در بیست سال گذشته زبان­هایِ با قابلیت برنامه نویسی شئ­گرا به عنوان اولین و بهترین زبان برای توسعه نرم­افزارها در نظر گرفته می­شوند. در میان زبان­های با قابلیت برنامه نویسی شئ­گرا زبان #C و Java از امکانات بهتری برخوردارند.

با نگاهی به دو نرم­افزار انتخاب شده در بالا متوجه به تضادی می­شویم که از گذشته تا کنون گریبان­گیر برنامه­نویسان متعددی بوده است. با توجه به اینکه SQL Server یک بانک اطلاعاتی رابطه­ای است پس نمی­توان با آن به صورت شئ­گرا در برنامه­­ها ارتباط برقرار کرد. البته مایکروسافت برای رفع این مشکل تا قبل از سال 2005 فعالیت­هایی نظیر ارائه DataSet و ADO.NET انجام داده است. اما با این حال هنوز نمی­توان به صورت کاملاً شئ­گرا با این مدل از بانک­های اطلاعاتی ارتباط برقرار کرد.

در این میان شرکت­های مطرح نرم­افزاری دنیا مانند Mircrosoft نیز بیکار نمانده­اند و بر روی پروژه­هایی برای رفع مشکل یاد شده در بالا فعالیت نموده­اند. مهمترین و بهترین پروژه­ای که در این مورد بر روی آن کار شده است پروژه LINQ می­باشد. با استفاده از این تکنولوژی دیگر نیاز به کار بردن روش­های متفاوت برای بازیابی اطلاعات از منابع داده­ای گوناگون مانند بانک­های اطلاعاتی رابطه­ای، اسناد XML و حتی اشیاء درون حافظه نیست. در این روش از یک گرامر مشابه برای بازیابی اطلاعات از هر نوع منبع داده­ای استفاده می­شود؛ و البته گرامری که این روش از آن استفاده می­کند به صورت شئ­گرا می­باشد.

در ادامه نگاهی کلی بر فرم کلی این روش خواهیم انداخت و سپس به توضیح و بررسی قسمت­های مخلتف پروژه می­پردازیم.

برای درک کلی گرامر این روش مثال زیر را در نظر بگیرید:

 

int[ ] i= {1,2,3,4,5,6,7,8,9,10,11};

var query = from p in i

            where p>=5      

            select p;

objectdumper.write(query);

 

اگر کدهای بالا را کامپایل و اجرا کنید کلیه اعدادی که در آرایه i از عدد 5 بیشتر می­باشند انتخاب و در متتغیر query ذخیره می­شوند. این مدل استفاده از LINQ به مدل عملگری مشهور است. کامپایلر #C پس از برخورد با این عبارت آن را به فراخوانی متد­هایی تبدیل می­کند. پس از تبدیل، عبارت پرس و جوی بالا به صورت زیر در خواهد آمد.

var query= i.where(p=> p>5);

خروجی هر دو مدل معادل یکدیگر می­باشند. متغیر p که در هر دو حالت از آن استفاده شده است برای حرکت در مجموعه مورد نظر، به کار می­رود و در هر بار به یک عنصر در این مجموعه اشاره می­کند.

در مورد کلاس ObjectDumper باید به عرض برسانم که این ابزار یک کلاس ساده با یک متد به نام ()Write است و از آن برای تهیه خروجی قالب­دار استفاده می­شود. این بدان معناست که دیگر برای چاپ اطلاعات لازم نیست با استفاده از ساختارهای تکرار در مجموعه مورد نظر حرکت کنید و با استفاده از متد ()Writeو یا ()WriteLine که در کلاس Console قرار دارند اطلاعات را چاپ کنید.

ObjectDumper  هنگام نصب NET. بر روی کامپیوتر شما کپی می­شود. بنابراین برای استفاده از آن کافییست فایل Objectdumper.cs را جستجو کرده و آن را به پروژه خود اضافه کنید.

اما اگر به جای استفاده از LINQ، بخواهیم با استفاده از روش­های متداول قبلی این کار را انجام دهیم باید از دستوراتی مانند زیر استفاده نمود.

 

       

int[] i= {1,2,3,4,5,6,7,8,9,10,11};

for (int j = 0; j < i.Length ; j++)

{

    if (i[j]>=5)

    {

        Console.WriteLine(i[j]);

    }

}

ادامه نوشته

LINQ for visual C# 2005


ناشر :Apress
سال انتشار :2007
9781590598269:ISBN
تعداد صفحات:150
زبان:انگلیسی
سطح:متوسط,حرفه ای وفوق حرفه ای

کتاب الکترونیکی LINQ for visual C# 2005


کتاب LINQ for visual C# 2005 از انتشارات Apress و پدیدآورنده ی آن Fabio Claudio Ferracchiati می باشد.این کتاب از

 سری firstpress می باشد.در واقع firstpress منبعی برای درک جدیدترین تکنولوژی ها می باشد.بدون این کتاب ها برای

 دانستن تکنولوژی های جدید شما مجبور خواهید بود که وقت بسیار زیادی بگذارید.این کتابها در وقت و تلاش شما صرفه جویی

می کند.با استفاده از این سری کتابها قادر خواهید بود در تکنولوژی های جدید پیشرو باشیدو این سری کتابها در هر دو نوع

 الکترونیکی (بصورت Ebook) و هم بصورت کاغذ چاپی وجود دارد.در کنفرانس developer های حرفه ای مایکروسافت

 در سال 2005 مایکروسافتیک تکنولوژی جدید را نوید داد: Language Integrated Query)LINQ) .این تکنولوژی در برنامه های

 شیءگرا کاربرد دارد.با استفاده ازاین تکنولوژی قادر خواهید بود از XML و از بانک اطلاعاتی SQL Server واز آرایه ها در

 حافظه query بگیرید.

این کتاب در سه بخش سازماندهی شده است:


مدیریت داده ها در حافظه (LINQ To Objects) و دستیابی به بانک اطلاعاتی رابطه ای (LINQ To ADO.NET) و دستکاری اسناد XML

(LINQ To XML).در هر قسمت نیز مثال های زیادی آورده شده است.خود نویسنده ی کتاب هدف این کتاب را آموزش سریع افراد برای

 کار با LINQ اعلام می کند.این کتاب در کل 174 صفحه می باشد.اگر می خواهید با این تکنولوژی جدید مایکروسافت آشنا شوید و

query هایی حرفه ای بنویسید این کتاب را مطالعه کنید.

ok

این کتاب توسط سایت Ebook4DL به کلیه کسانی که میخواهند LINQ  را یادبگیرند پیشنهاد میشود.

  برای دانلود کتاب روی ادامه کلیک کنید.



 

                                                                                                                        


لینک دانلود کتاب از   MegaUpload                دانلود کتاب
لینک دانلود کتاب از        FileSend                دانلود کتاب
لینک دانلود کتاب از   RapidShare                دانلود کتاب