جلسه دوم دوره Modern Data Layer به تدریس مهندس علیرضا ارومند با موفقیت برگزار گردید.
از جمله مباحثی که در این جلسه مطرح شد عبارتند از:
1- Entity Framework Core
ابتدا با Dotnet Core و دلایل شروع این پروژه آشنا شدیم و دیدیم که چگونه با معرفی Dotnet Standard امکان اشتراکگذاری کتابخانههای مختلف بین نسخههای مختلف .NETیجاد شده است.


2- تعریف ORM
بعد از آن یک تعریف اولیهای از ORM داشتیم و دیدیم که چگونه یک ORM خوب میتواند توسعه نرمافزار را برای ما ساده کند و کار نگهداری کد را بسیار آسان کند. اما مایکروسافت به عنوان یکی از بزرگترین شرکتهای نرم افزار تلاشهای زیادی در رابطه با ارائه راه حل مناسب برای لایه DAL کرده که تاریخچه آن را با هم بررسی کردیم و دلیل رسیدن به EF و EF Core را بررسی کردیم.
بعد از آشنایی اولیه با تاریخچه نوبت به معرفی اجزاء اصلی EF رسید. مواردی مانند DbContex, Entityها و DbSet اجزایی بودند که با هم بررسی کردیم.
اما در کنار همه دستاوردها قطعا این حجم Abstraction معایبی نیز به همراه دارد مانند:
1- کار با ORMها ساده است
2- جادوگری همیشه به نفع ما نیست
3- تفاوت دو دنیا کار توسعه را سخت میکند
4- مشکلات Performance
و دیدیم که چگونه به عنوان یک فرد حرفهای میتوانیم این مشکلات را برطرف کنیم.
بعد از کمی بحث تئوری نوبت به کدنویسی رسید. اولین پروژه خود را ایجاد کردیم. دیدیم چگونه میتوانیم Ef را به پروژههای خوب اضافه کنیم و چه راه حلهایی برای ایجاد پایگاه داده زمانی که با یک ORM کار میکنیم پیش روی ماست.
در ادامه با توجه به موارد عملی که بررسی کرده بودیم سعی کردیم جزئیاتی از عملکرد EF را با هم بررسی کنیم. شاید در حالت عادی دانستن این جزئیات اهمیتی نداشته باشد. اما برای داشتن یک لایه دیتای فوق حرفهای قطعا باید دانشی داشته باشیم که از پس پیچیدهترین شرایط بر بیاییم.
چگونگی پیاده سازی Select, Update از دیگر مواردی بود که با جزئیات بررسی کردیم.
در انتها دلایلی را با هم بررسی کردیم که بتوانیم تصمیم بگیریم آیا زمان استفاده از EF Core رسیده یا نه برخی ازاین دلایل و شرایط به شرح زیر هستند:
1- استفاده از آخرین تکنولوژی
2- پشتیبانی از پلت فرمهای مختلف
3- توسعه سریع و ساده
4- مستندات و آموزشهای خوب
در طول دوره قرار است یک فروشگاه را به کمک EF، SQL Server, Redis و MVC Core پیادهسازی کنیم. ادامه کلاس را به صورت عملی به بررسی معماری کلی این پروژه و ساختار لایهبندی خود پرداختیم.
جهت کسب اطلاعات بیشتر میتوانید به دوره بسیار کاربردی Modern Data Layer مراجعه کنید.