Entity Framework چیست ؟


Entity Framework مجموعه‌اي از تكنولوژي‌ها در ADO.NET (بخشی از چهارچوب زبان ASP.NET) است كه هدف آن در اختيار گذاشتن برخي از قابلبت‌هاي برنامه‌نويسي شي‌گرا بخصوص در استفاده از بانك هاي اطلاعاتي براي برنامه‌نويسان مي‌باشد.

قبل از EF بهتر است با مفهوم ORM  آشنا شويم. ORM یا Object Relational Mapping ابزاری است که به وسیله آن می توان جداول پایگاه داده را پردازش کرد و آنها را به فرمت شی نگاشت کرد که در کدنویسی خواناتر باشند. در کدنویسی به جای این که به صورت مستقیم با جداول پایگاه داده کار کنیم بر روی اشیاء کار می کنیم. به این اشیاء موجودیت یا Entity گفته می شود. Entity Framework  یک ORM است که توسط شرکت Microsoft توسعه داده می شود.

مزاياي استفاده از EF:

  • دسترسی به داده ها را ساده می سازد و به ما اجازه می دهد تا مدل مفهومی مورد نیاز برای کسب و کار را ایجاد کنیم.

 

  • EF اجازه میدهدتا شما روابط چندبه چند (n: n) را بدون Join هاي متعدد مدیریت نمایید.

 

  • جهت کاهش پیچیدگی کد، جداول مرتبط را در یک Entity مدل می کند.

 

  • پشتیبانی غنی و خوب از ارث بری ها برای جدول به ازای سلسله مراتب، زیرکلاس (subclass) و تایپ های به هم چسبیده (concrete type).

 

  • چون Entity Framework دارای مکانیسم بسیار قوی Query گیری از Entity ها است، کسانی که مایل به استفاده از LINQ نیستند، می توانند از Entity Client Provider  همراه با EntitySQL استفاده نمایند.

 

  • EF مستقل از نوع پایگاه داده می باشد و بر اساس استاندارد ADO.NET Providers کار می کند.

معایب:

  • امکانات ناکافی: با وجود اضافه شدن امکانات زیادی به نسخه 4، اما این ابزار هنوز نسبت به  ORM های محبوب، دارای کم و کاستی هایی هست.

تسلط پایین بر کد تولید شده: به خاطر استفاده از Designer، بر روی کدی که تولید می شود، نمی توان روی کدها تسلط زیادی داشت که البته با استفاده از کلاسهای  Partial، این مساله تا حدی بهبود داده شده است.

میلاد خوشدل

در حوزه‌ی امنیت وب و شبکه فعالیت می کند، عاشق پارکور است و مدیریت دیتاسنتر، امن سازی شبکه های مخابراتی و کابلی و برنامه نویسی وب و موبایل از تجارب کاری او می باشد. او در حال حاضر بنیانگذار ریجاکس است.

نظر خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

20 − یک =


تگ های html مجاز به استفاده می باشند: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ارسال یک پیام