خرید بک لینک
این مطلب برگرفته از وبلاگ http://alaasabzpoush.blogsky.com با نام صفحه شخصی سید علا سبز پوش میباشد:

مایکروسافت قبل از معرفی Entity Framework ، تکنولوژیهای ado , rdo وسرانجام ado.netرا ارایه کرده بود و برای اکثر این تکنولوژیهازمان زیادی گذاشته بود ، هر کدام از اینها در زمان خود یک تکنولوژی نوینی و حرکت عظیمیبود . اما با گسترش مفاهیم شی گرایی و نیاز مبرم برنامه نویسان به ایجاد اشیا ازداده ها و جداول بانکهای اطلاعاتی مایکروسافت اقدام به توسعه تکنولوژی ado.net کرد و ابتدا امکانات linq و سپس Entity Framework را برای تعامل بهتر با شیگرایی مطرح کرد .

تا قبل از آن برنامه نویسان زمان زیادی را برای برنامه نویسی اشیا جدولهایبانکهای اطلاعاتی و ارتباطات آن صرف می کردند و هر گونه تغییر در جداول بانکهامستلزم تغییرات فراوانی در کد نویسی است .

ابتدا فهرستی از ابزارهای مدل سازی را معرفی می کنم :

1-ERM یا Entity Relationship Model ابزاری برای مدلسازی پایگاههای داده ای رابطه ای .

2- UMLیا Unified Modeling Language زبان استاندار ماژول سازی اشیا و کلاسها

3-ORM یا Object-Relational Mappingروشی و ابزاری برای ایجادتعامل ماژولار میان اشیا بانکهای اطلاعاتی رابطه ای و زبانهای برنامه نویسی شی گرا

4-DFD یا Data Flow Diagram ابزاری برای نمایش نموداری از جریان داده ها وفرآیند سیستم

البته چند ORM دیگر هم وجود دارد یکی NHibeate و SPRINT.net هر دوتای آنها از جاوا مشتق شده اند و توانمنیدهای فراوانی دارنداما بحث ما Entity Framework.Net4 است.

البته لیست بالا لیست کاملی نیست و از حوصله این بحث خارج است .

قبل از ورود به بحث Entity Framework مقدمه ای در مورد Entity Data Model یا مختصرا EDM بایدبیان شود .EDM در حقیقت پایه و پیش نیاز Entity Framework است و شامل سه model است

1-مدل مفهومی 2-مدل منطقی 3-مدل ذخیره سازی یا فیزیکی

ما می توانیم بگوییم که EDM یک نسخه تکامل یافته ERM است.ما در مدل EDMدر مورد ساختار شی گرای business objects داده ها بحث میکنیم در حالی که در مدل ERM ما در مورد طرح بانک اطلاعاتی بحث می کنیم .کهباید تفاوت میان مدل داده و مدل شی را متوجه شویم ، شکل زیر یک مدل داده را نشانمی دهد در حالی که شکل بعدی مدل شی گرا از بانک اطلاعاتی ما را نشان می دهد.





Entity چیست ؟

ما برای فهم Entity Framework باید ابتدا مفهوم Entity را متوجه شویم ، البته بعدا در مورد این مفصلاخواهم نوشت ولی فعلا برای فهم بیشتر مقایسه ای با object و relational data انجام می دهم

تشابه Entity با شی یا object

1-Entity مانندشی دارای انواع تعریف شده برای داده ها و فیلدها است

2-Entity مانند شی دارای خصوصیت یا properties است

3- هر Entity یک هویت متمایزی دارد

4- یک خصوصیت Entity می تواند ارجاعی به Entity دیگر باشد

تفاوت Entity با شی یا object

1 -Entityمی تواند یکفیلد اصلی یا primarykeys داشته باشد

2-Entityمی توانددارای ارتباطی با Entityدیگر باشدمانند ارتباطات موجود در بانک اطلاعاتی

تشابه Entity با داده رابطه ای relational data

1-Entityیک ارتباطچند گانه مانند داده ها با دیگر entity می تواند داشته باشد

2-Entityمانند دادهها می تواند کلید اصلی یا primary key داشته باشد

تفاوت Entity با داده رابطه ای relational data

1-Entityاز داده هابا نوع پیچیده complex typesپشتیبانی می کند

2-Entityاز وراثتموجود در کلاسها پشتیبانی می کند

3-Entityداده هایفیزیکی را ذخیره نمی کند .

پس Entity Framework چیست ؟

درواقع EntityFramework تکنولوژی توسعه یافته ADO.Net است که فاصله بین برنامه نویسی شی گرایی و بانکاطلاعاتی رابطه ای را پر می کند .این فاصله معمولا تحت عنوان عدم تطابق شناخته میشود. و یک تکنیک برنامه نویسی برای تبدیل ارتباطات در Database بهمفاهیم ObjectOriented در برنامه نویسی است. در واقع میتوانگفت که کلاس ها را به Table ها map میکند.وقتی که شما میخواهید به Database دسترسی پیداکنید، یا اطلاعاتی را ذخیره کنید، این کارها را مستقیما بر روی اشیاء ( Object تان )انجام میدهید. Entity Framework مدل داده ها را به سه بخش تقسیم می کند 1-مدل مفهومی یا ادراکی2-مدل منطقی 3- مدل فیزیکی


برچسب: نویسنده: کل مردم تاريخ: چهارشنبه 7 آبان 1393 ساعت: 18:27

صفحه بندی