# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > دسترسی به داده ها (ADO.Net و LINQ و ...) >  تفاوت ADO با LINQ

## saeed-71

سلام.
تفاوت ADO با LINQ چیه؟
در چه جاهایی باید از کدوم استفاده کنیم؟!!!!!!!!!!!!

----------


## IFA_USER

سلام

ADO به زبان ابزار دسترسی به اطلاعات در VB6 است. با در اختیار گذاشتن اشیایی مثل RecordSet و ... این مهم را برای شما انجام می داد

ADO.net هم روش دسترسی به اطلاعات ذخیره شده در دیتا بیس در زبانهای دات نتی است که با در اختیار گذاشتن اشیایی مثل DataReader ، DataAdapter ، DataSet و ... این مهم را انجام می دهند.ADO.net نسبت به ADO به اعتقاد بنده یک انقلاب در این عرصه بود.

اما Linq در پاسخ به در خواست همیشگی برنامه نویسان به داشتن دیتا بیس شی گرا ایجاد شد. در واقع Linq یک حجاب روی ADO.net است که پایگاه داده ای رابطه ای را به ظاهری شی گرا به شما ارائه می کند. اما در پشت صحنه با همان اشیاء Ado.net با دیتابیس رابطه برقرار می کند.


اینکه از "کدام" استفاده کنی بستگی  به خود  شما دارد. اما در مورد  "در چه جاهایی"  با توضیحاتی که دادم موضوعیت ندارد.

----------


## mehrbani

LINQ یک زبان Query گرفتن از اشیا ، بانک اطلاعاتی و ... است.ADO یک واسط برای ارتباط با پایگاه داده.مقایسه این دو درست نیست.برای مقایسه باید ADO رو با LinqToSQL و یا EntityFramework مقایسه کرد.
در کل L2S و یا EF به عنوان ORM عمل می کنن و Query های شما رو به SQL تبدیل می کنن.
استفاده از ORM محاسن زیادی داره مثل یک افزایش خوانایی برنامه ، مستقل شدن از پایگاه داده و ...

----------

