ورود

نسخه کامل مشاهده نسخه کامل : وجود تکنولوژی های جدید اتصال به پایگاه داده مثل EF بهتره اول تکنولوژی های قدیمیتر رو یاد بگیرم؟



shahinfarasystem
14-12-2011, 09:09
سلام

من دارم به تازگی برنامه نویسی بانک اطلاعاتی رو شروع میکنم

با وجود تکنولوژی های جدید اتصال به پایگاه داده مثل Linq 2 SQL و جدیدتر از اون EF نیازی هست برنامه نویسی بانک اطلاعاتی رو از تکنولوژی های نسل قبل شروع کنم؟؟؟

نکته ای، مفهومی، چیزی توشون هست که نیاز باشه اول تکنولوژی های قدیمی رو بخونم بعد برم سراغ زبان Linq و ORMهایی مثلEF؟؟

ممنونم

shahinfarasystem
17-12-2011, 08:08
آقا ما همچنان منتظریم

_H2_
22-12-2011, 01:38
سلام
بستگی دارد منظورتان از نسل قبل چه باشد!
در حال حاضر سه روش رسمی DataSet و LinqSQL و EF در خود دات نت وجود دارد.
ولی اشیا و کلاسهای پایه ADO.Net در تمام روش فوق همچنان ثابت مانده که همان کلاس های Connection و Command و DataReader باشند.
یعنی این مجموعه کلاسها هسته بنیادین تکنولوژی ADO.Net هستند و تمام ابزارهای بومی دات نت و ابزارهای ثالث (مثل NH) و کلاً هر کدی که بخواهد با ADO.Net به دیتابیس متصل شود در نهایت باید از این کلاسهای پایه استفاده کنید.

نتیجه آنکه، اگر منظور از تکنولوژی نسل قبل DataSet و DataAdapter باشد، جواب شما این است که اگر شما کامل EF را فرا بگیرید کافی خواهد بود و نیازی به یادگیری نحوه کار با DataSet و DataAdapter ندارید، چون این دو ، دو تکنولوژی مستقل هستند و کسی هر کدام را کامل بلد باشد کارش راه می افتد و شاید نیازی به یادگیری دیگری نباشد، گرچه بلد بودنش هم بحرحال مفید است.

ولی اگر منظور از شما از نسل قبل نحوه استفاده و ارتباط با Connection و Command و DataReader باشد، وضع فرق میکند، چون اصلاً نسل قبل و بعد معنی ندارد. اینها اشیای پایه هستند و همچنان اگر بخواهید به بهترین بازدهی و بالاترین سرعت و همچنین انجام کارهای خاصی دست بزنید، شاید راه حل فقط در این کلاسهای پایه باشد.
البته شما میتوانید بدون فراگرفتن انها از ابزار EF به سادگی استفاده کنید ولی بحرحال باید بدانید که خود EF از این کلاسها استفاده میکند و به هیچ نحوی وصله نسل قبل و بعد به این کلاسها نمیچسبد و در موارد و مانورهای خاصی شاید محتاج انها شوید. (مثل دسترسی مستقیم Stream ای به فیلدهای حجیم)

=====

خلاصه:
یادگیری EF برای اکثر ارتباط ها با دیتابیس کافی است و DataSet و LinqSQL اصلاً پیش نیاز آن نیست.
شب خوش.