-
یک شنبه 03 خرداد 1388, 04:08 صبح
#9
کاربر تازه وارد
نقل قول: LINQ To SQL is Dead
یقینا کارایی Linq to Sql در مقایسه با ADO.NET از انعطاف پذیری بالایی برخوردار است :
1- در بحث استخراج داده ها گزینه های بسیاری برای محدود کردن داده های نامربوط به پرس و جوی مورد نظر وجود دارند که گزینه ها و حالات اضافی را در زمان استخراج داده ها و نه بعد از آن
حذف میشوند.
2-در اختیار گذاشتن Join های آماده تا چند سطح . شاید سخت ترین پرس و جوهای موجود را میتوان در Join کردن پیدا کرد. وجود RelationShip ها در دیتابیس به صورت Join های آماده در
Linq to SQL به نمایش گذاشته شده اند. این Join ها در چندین سطح متوالی و توسط تکنولوژی Intellicense قابل دسترسی میباشد و کد SQL این Join ها در زمان استفاده شدن توسط کاربر
تولید و اجرا میشوند.
3- تطابق کامل با مدل برنامه نویسی شئ گرا که دغدغه و عامل جدایی دنیای داده ها از دنیای
Solution های شئ گرا با وجود Linq to SQL و Linq to Entity از بین میرود و اگر کسی به کد نوشته شده یک توسعه دهنده که از Linq to SQL و Linq to Entity استفاده میکند ، نگاه کند پردازش روی اشیاء و آرایه ها را متصور میشود نه داده های استخراج شده بانک اطلاعاتی.
4- از بین بردن تعداد واسطه های مضاعف برای بهره بردن و توسعه سریع نرم افزارهایی که از مدل N'Tier برای پیاده سازی و طراحی استفاده میکنند.اگر از Linq to SQL و Linq to Entity برای توسعه نرم افزار استفاده کنید ، مجبور میشوید از N'Tier برای پیاده سازی و طراحی استفاده کنید و این یک انگیزه و درک است که هیچوقت آنرا بصورت تئوری نیاموخته اید
بنده از Linq to SQL و Linq to Entity در پروژه ای نسبتا پیچیده و حجیم در رابطه با بانک اطلاعاتی استفاده کردم و هیچگونه خطایی را هنوز مشاهده نکرده ام
5- کارایی بسار بالای اشیایی که در رابطه با استخراج داده ها بکار میروند. بطوریکه با تستی که انجام دادم متوجه شدم که بارگذاری و پیمایش یک میلیون رکورد که هرکدام برروی دیسک تقریبا صد بایت حافظه اشغال میکنند فقط 10 مگابایت حافظه را اشغال میکند. در صورتیکه این تعداد رکورد در صورت تبدیل شده به لیست تقریبا 10 برابر حافظه را اشغال میکند.
6- افسار همه چیز در دستان شماست. به این معنی که میتوانید بعد از اینکه از درستی نحو پرس وجو اطمینان حاصل کردید.هر وقت که خواستید از نتیجه خبردار شوید و یا قبل از اینکه نتیجه را ببینید از پرس و جو در ایجاد پرس و جوی دیگری استفاده کنید.
7- کارایی اجرای دستورات SQL . چرا که اگر توجه کرده باشید نحوه نوشتن پرس و جو در Linq با SQL متفاوت است و این تفاوت به ترتیب اجرای هر نشانه در موتور SQL نزدیکتر است تا خود زبان پرس وجوی SQL.
این خصایص قسمتی از قدرت Linq را به نمایش میگذارند. مادامیکه از Linq to SQl برای ایجاد پرس و جو استفاده میکنید زمان بازیابی داده ها بسیار کوتاه خواهد بود. اما با درگیرکردن اشیاء کلاسی زمان کار با داده ها بسیار بالا خواهد رفت.
نتیجه اینکه اگر Linq to SQL و Linq to Entity مشکل و یا باگ داشته باشند میتوان با استفاده از انعطاف پذیری آنها براحتی مشکلات را پشت سرگذاشت. و این در عمل برای شخص خودم بارها اتفاق افتاده است.
موق باشید.
قوانین ایجاد تاپیک در تالار
- شما نمی توانید تاپیک جدید ایجاد کنید
- شما نمی توانید به تاپیک ها پاسخ دهید
- شما نمی توانید ضمیمه ارسال کنید
- شما نمی توانید پاسخ هایتان را ویرایش کنید
-
قوانین سایت