Entity Framework 6.0 سرفصل ها و محتوای دوره آموزش
پیش نیاز:
آشنائی با مفاهیم شی گرایی
آشنائی کار با ADO.Net سنتی
توانائی کار با بانک اطلاعتی MS SQL
Server(2005) به
بالا
آشنائی با معماری لایه ای سنتی (حداقل 3 لایه)
مقدمه:
(EF) یک ابزار ORM بسیار
قدرتمند برای کارکردن با انواع بانکهای اطلاعاتی و حتی ساختارهای اطلاعاتی flat مثل
فایلها می باشد. این ابزار قابلیت قدرتمند پشتیبانی از انواع
مختلف DataProvider ها
را داراست. با کمک این ابزار برنامه نویسان می توانند بدون درگیر شدن با پیچیدگی
های درون بانکهای اطلاعاتی ابزارORM خود
را مورد استفاده قرار دهند. EF درحال حاضر به عنوان ORM مورد
تاثیر شرکت ماکروسافت برای پشتیبانی از انواع مختلف بانکهای اطلاعاتی می باشد.
مخاطبین دوره:
آن دسته از افرادی که می
خواهند، ابزار قدرتمند EF را برای کاهش هزینه های تولید نرم
افزار خود مورد استفاده قراردهند. وهمچنین برنامه نویسانی که به دنبال یک ORM قدرتمند با قابلیت بالای پشتیبانی از
ساختارهای زیر هستند :
نگاه
داده گراData Driven با
استفاده از Data Base First
نگاه تحلیل شی گرا با Model Drivenاسفاده از Model
First Model
اهداف و سرفصل دوره:
آشنائی سریع با مفاهیم زیر ساخت شی گرائی شامل:
Delegate
FUNC
Action
Anonymous Date type
Lambda
Expression
Yield return
آشنایی و تسلط کامل بر روش Code First برای
کارکردن با سیستمهای Domain Driven
بررسی مدیریت سناریوهای نگاشت مدل های رابطه ای به مدلهای شی گرا و مدیریت
نگاشت مدل شی گرا به مدل رابطه ای براساس:
Table Per- Ttype
Table- Per- Hierarchy
Table- Per-Concrete-Type
بررسی نگاشت یک جدول به چند Entity توسطEntity
Frame Work
بررسی نگاشت چند Entity به
یک جدول با استفاده از Entity Frame Work
آشنائی و تسلط کامل بر روش Model گرا
برای ساخت نرم افزار براساس مدل کلاس دیاگرام
آشنائی و تسلط بر انواع مدل Mapping شامل:
Annotation
Fluent API
بررسی مدیریت Version و جدولهای مورد استفاده در EF Code First با version جاری
اشیا EF و
تدوین روش پاسخگوئی برای Synch نگاه
داشتن آنها :
Customizing Data Migration Code First
بررسی و ساخت یک روش مدون برای version بندی جداول و اطلاعات موجود
در آن
استفاده از توابع seed ,up ,down برای
مقدار دهی اولیه به بانکهای اطلاعاتی
آشنایی و تسلط برروش Data Base گرا
برای پیش برد نرم افزارهایی که تحلیلشان مبتنی بر بانک اطلاعاتی است.
آشنائی و تسلط کامل بر انواع Query گیری
از بانک براساس نیاز یک برنامه نویس حرفه ای بر اساس LINQ To
Entities شامل:
Select
Like
Inner join
Group By
Left join
Right join
Full join
Date Diff
Date part
Date ADD
Partitioning
وایجادQuery های پیچیدهبرای بازیابی اطلاعات
Xml Mapping
آشنائی و تسلط بر برقراری ارتباط با اشیاء موجود در بانکهای اطلاعاتی
Stored Procedure
User Defined Function
Table Derived Functions
User Defined Functions
آشنائی و تسلط کامل بر مدیریت همزمانی و بررسی سناریورهای همزمانی و نحوه
برخورد با conflict های
حاصل از همزمانی کارکرد چندکاربرهمزمان
بررسی مدیریت خوشبینانه
بررسی مدیریت بدبینانه همزمانی و نحوه ارائه راه حل آن
بررسی اعتبار سنجی داده ها براساس Entity Frame Work
بررسی محل صحیح و نحوه اعتبار سنجی Entity Frame work
بررسی Design pattern های
رایج در Entity Framework
Repository Pattern
unit of work pattern
بررسی مدیریت اشیا Connection و
مدیریت بهره وری آنها
بررسی بانکهای اطلاعاتی که می توانند شامل چند Data Context برای بهبود بهره وری باشند.
بررسی امکانات مدیریت تراکنشهای Entity Framework
بررسی مدیریت کامل connection های
بکاررفته در EF و
نحوه مدیریت آنها شامل:
چگونه از Connection ها
مجدداً استفاده نمائیم.
چگونه برخی از تنظیمان مرتبط با Connection را با استفاده از EF انجام دهیم.
بکار بردن Custom collection Factory برای
تعیین محل قرارگیری بانک
کاربرد connection Resiliently
امکان رهگیری فرآیند مورد اجرای هریک از کاربران
امکان رهگیری فرآیند مورد اجرای هریک از کاربران با استفاده از Interception
Context با
استفاده از این امکانات می توان با تنظیم کلاسهای Data Base Log Formatter ، خروجی شبیه خروجی
SQL server profiler را
به همراه Format دلخواه
برای رهگیری بانک بوجود آورد.
معرفی T4 و
کاربرد آن :
با استفاده از T4 می
توانیم با Format دلخواه
کلاسهای مختلف را براساس یک Template بوجود
آوریم.
مباحث پیشرفته
با استفاده از Entity Framework Profiler یک
پروفایل قدرتمند برای کاربرد در رهگیری دستورات ارسالی سازیم.
با استفاده از Power Tools می
توانیم با یک مهندسی معکوس از context تولیدشده
توسط Data Base first به
یک code خالص POCO ، منطبق بر Code
First برسیم.
ساخت وب سرویس WCF Service مناسب
روی EF
مدیریت منابع Cache براساس DB
Context برای
افزایش بهره وری Query های
بازیابی اطلاعات.
ساخت Cache های level2 و مدیریت آنها