Entity Framework چیست؟

فروردین 23, 1397     میثم عبداللهی    

Entity Framework

سلام به شما کاربران عزیز و دوست داشتنی. مبحث مورد بحث ما امروز صحبت درباره یکی دیگر از فریم ورک های موجوده. فریم ورک (Entity Framework (EF یه چارچوب شی گرای متن باز برای ADO.NET ) ADO.NET یک مجموعه ی آبجکت محور از کتابخونه هاییه که به شما اجازه می ده تا با منبع داده تعامل داشته باشین) است.

تاریخچه

مایکروسافت قبل از معرفی Entity Framework، تکنولوژی های RDO، ADO و در آخر ADO.NET رو ارائه کرده بود و برای اکثر این تکنولوژی ها زمان زیادی نیز گذاشته بود.هر کدام از این تکنولوژی ها در زمان خودشون، تکنولوژی نوین و حرکت عظیمی بودند اما با گسترش مفاهیم شی گرایی و نیاز مبرم برنامه نویسان به ایجاد اشیا از داده ها و جداول بانکهای اطلاعاتی، مایکروسافت اقدام به توسعه تکنولوژی ADO.NET کرد و ابتدا امکانات Linq و سپس Entity Framework رو برای تعامل بهتر با شی گرایی مطرح کرد.

پیش نیاز

قبل از Entity Framework بهتره با مفهوم ORM یا Object Relational Mapping اشنا بشیم. ORM ابزاریه که به وسیله اون میشه جداول پایگاه داده رو پردازش کرد و اونها رو به فرمت شی نگاشت کرد که در کدنویسی خواناتر باشند. در کدنویسی به جای این که به صورت مستقیم با جداول پایگاه داده کار کنیم، بر روی اشیا کار میکنیم. به این اشیا Entity گفته میشه.

Entity Framework چیست؟

Entity Framework مجموعه ای از تکنولوژی ها در ADO.NET (بخشی از چارچوب زبان ASP.NET) است که هدف اون در اختیار گذاشتن برخی از قابلیت های برنامه نویسی شی گرایی بخصوص در استفاده از بانک های اطلاعاتی برای برنامه نویسان می باشد. این فریم ورک یک ORM است که توسط شرکت Microsoft توسعه داده میشه. این فریم ورک از اطلاعات موجود در مدل ها و فایل های نگاشت، برای ترجمه کوئری آبجکتی در برابر موجودیت های جایگزین شده در مدل مفهومی به کوئری های سطح پایگاه داده، استفاده می کنند.

استفاده از Entity Client data provider

 Entity Framework از Entity Client data provider برای مدیریت اتصال به پایگاه داده، ترجمه کوئری های موجودیت به کوئری های مخصوص منبع داده و بازگردوندن یک datareader که Enrity Framework برای ساختن موجودیت آبجکت ها نیاز داره، استفاده میکنه. زمانی که نیازی به تبدیل شدن به آبجکت ها هم نیاز نباشه، این Provider میتونه به عنوان یک ADO.NET data provider استفاده بشه و خروجی رو به عنوان یک datareader فقط خواندنی (Read-Only) بده.

Entity framework-عکس1

مزایای استفاده از Entity Framework

دسترسی به داده ها در این فریم ورک بسیار ساده است و به شما این اجازه رو میده تا مدل مفهومی مورد نیاز برای کسب و کار رو ایجاد کنین. EF به شما اجازه میده تا روابط چند به چند رو بدون JOIN های متعدد مدیریت کنید. در این فریم ورک پشتیبانی غنی و خوب از ارث بری ها برای جدول به ازای سلسله مراتب، زیر کلاس و تایپ های به هم چسبیده (Concrete Tybe) وجود داره.

معایب استفاده از Entity Framework

با وجود اضافه شدن امکانات زیاد به نسخه 4 این فریم ورک، اما این ابزار هنوز نسبت به ORM های محبوب، دارای کم و کاستی هایی است. همچنین به دلیل استفاده از Designer، بر روی کدی که تولیده میشه، نمیتوان روی کد ها تسلط زیادی داشت که البته با استفاده از کلاس های Partial، این مسئله تا حدی بهبود داده شده است ولی همچنان تسلط پایینی بر روی کد های تولید شده وجود داره.

استارت یادگیری

یکی از راه های کار با ASP.NET  استفاده از فریم ورک Entity Framework است. اگه دوست دارین کار با این فریم ورک رو یاد بگیرین میتونین از مراجع مختلف ارائه شده استفاده کنین ولی من مرجع اصلی سایت (برای ورود به سایت کافیه اینجا کلیک کنین) رو بهتون پیشنهاد میکنم.

دسته‌بندی‌ : بلاگ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Rating*