۱۳۸۹ فروردین ۱۹, پنجشنبه

Entity Framework (مقدمه)

در زمانی که با Linq to SQL آشنا شدیم نام Entity Framework را نیز شنیدیم. اما بعد از بررسی متوجه شدیم که (نسخه آن زمان) Entity Framework در ظاهر مانند Linq to SQL است و تنها حسنی که دارد امکان برقراری ارتباط با بانکهای اطلاعاتی مختلف مانند Oracle، MySQL و … است ولی در باطن Entity Framework از بعضی از توابع مهم که در Linq to SQL پشتیبانی می شد، پشتیبانی نمی کرد. مانند Conatins یا Any که کاربرد بسیاری در نوشتن Query های جستجو دارد.

البته در آن زمان به این ویژگی مهم Entity Framework پی نبردیم که قابلیت پوشانیدن جزئیات بانک اطلاعات و ارائه یک مدل کاملا Conceptual را دارد. به عنوان مثال ما برای پیاده کردن یک ارتباط Many to Many در بانک اطلاعات از یک جدول سوم استفاده می کنیم که کلید های دو جدول دیگر را در خود نگهداری میکند. وقتی همین جداول توسط Entity Framework نگاشته (Map) می شود، فقط دو Entity با ارتباط Many to many به یکدیگر را خواهیم داشت که این شروع دید Conceptual است؛ درگیری با جزئیات کم و کمتر می شود و در عوض جای خود را به تفکر بر روی طراحی می دهد.

مفاهیم بسیار عمیق شی گرایی، در Entity Framework کاملا و واقعا قابل استفاده است! و این بزرگترین ویژگی آن به حساب می آید. برای مثال ارثبری می تواند یک مورد بسیار پر کاربرد باشد که دنیای ارتباط با بانک های اطلاعاتی رابطه ای (Relational یا RDBMS) را تغییر داده. و متاسفانه یا خوشبختانه باعث شده که شرکت های بزرگ نرم افزاری، فکر ایجاد بانک اطلاعاتی شی گرا (ODBMS) را بیشتر از خود دور کنند.

در 23 فروردین نسخه نهایی .Net Framework 4.0 به همراه Visual Studio 2010 ارائه می شود که Entity Framework 4.0 نیز یکی از معجزه های ارائه شده در این محصول است. (مدتی است که نسخه RC قابل دریافت است) و به گفته بسیاری، مایکروسافت با شنیدن و سنجیدن نظرات و پیشنهادات توسعه دهندگان نرم افزار های Model-Driven و Data-Driven ویژگی های Entity Framework را کامل کرده و در حال روانه کردن آن به بازار است.

مانند همیشه، ابزارها به سمتی می روند که تفکرِ بیشتر جای کار عملیِ (کد زدن و…) بیشتر را بگیرد. وقتی ما برای اولین بار به صورت واقعی از مفاهیم شی گرا در EF 4.0 استفاده کردیم. چند ده برابر اینکه روی موشواره (Mouse) کلیک کنیم یا بر روی صفحه کلید (Keyboard) تایپ کنیم، تفکر کردیم و با سرعت بیشتری به هدفی که مورد نظرمان بود رسیدیم.

به زودی یک یا دو پست در مورد EF با مثال کاربردی و عملی خواهیم داشت؛ چون برای اولین بار با نسخه غیر رسمی (RC یا Beta) یک نرم افزار (.Net 4.0 و EF 4.0 و VS 2010 و …) مشغول ایجاد یک پروژه تجاری واقعی هستیم و طبق برنامه ریزی که کرده بودیم تا قبل از اتمام پروژه، نسخه نهایی (Release) از .Net 4.0 به بازار خواهد آمد.

این یک ریسک بزرگ ولی با ارزش است!

هیچ نظری موجود نیست:

ارسال یک نظر