همانطور که میدانید Entity FrameWork یکی از معروفترین ORM های موجود در عرصه برنامه نویسی است که توسط خود ماکروسافت تهیه شده و پشتیبانی میگردد . در ابتدا این تکنولوژی با یکسری قابلیتهای اولیه به بازار ارائه شد و آرام آرام ماکروسافت قابلیتهای مختلفی به آن افزود و ایرادات را برطرف نمود. هنوز هم ماکروسافت در حال توسعه این محصول بوده و این پشتیبانی سبب شده EF به یک ORM معروف و پر استفاده تبدیل شود . هر ورژن دارای قابلیتهای جدیدی است که در جلب توجه کاربران نقش بسزا دارد .
همانطور که میدانید Entity FrameWork یکی از معروفترین ORM های موجود در عرصه برنامه نویسی است که توسط خود ماکروسافت تهیه شده و پشتیبانی میگردد . در ابتدا این تکنولوژی با یکسری قابلیتهای اولیه به بازار ارائه شد و آرام آرام ماکروسافت قابلیتهای مختلفی به آن افزود و ایرادات را برطرف نمود. هنوز هم ماکروسافت در حال توسعه این محصول بوده و این پشتیبانی سبب شده EF به یک ORM معروف و پر استفاده تبدیل شود . هر ورژن دارای قابلیتهای جدیدی است که در جلب توجه کاربران نقش بسزا دارد . در این مقاله به بررسی توانمندیهای نسخه جدید این محصول ، یعنی EF 7 که به EF Core 1.0 هم معروف است خواهیم پرداخت.
در ابتدا به ذکر و بررسی قابلیتهای حذف شده از این نسخه خواهیم پرداخت .
1-خداحافظ فایل EDMX و .....
در ورژنهای قبلی ، میتوانستید یک فایل EDMX بسازید و همه Object ها را درون آن قرار داده و به صورت خیلی ساده از آنها استفاده کنید . شایان ذکر است بنده شخصا هیچ وقت از آن استفاده نمی کردم و آثار فاجعه بار آن در پروژه های بزرگ بسیار مشهود است . به هر حال این روش که به DataBase First هم معروف بود دیگر وجود ندارد و فقط میتوان از متدولوژی Code First استفاده نمود .
2- در این نسخه دیگر ESQL هم ساپورت نخواهد شد
برای Run کردن Linq To SQL این قابلیت وجود داشت ، ولی در ورژن 7 این آیتم هم دیگر وجود ندارد .
خوب حالا اجازه بدهید به شرح قابلیتهای موجود در این نسخه بپردازیم
1- کارکرد سبکتر و حجم DLL های کمتر
2- Open Source بودن
3- ساپورت PlatForm های جدید نظیر
(All .NET application (Console, ASP.NET 4, WinForms, WPF
(Mac and Linux applications (Mono
(UWP (Universal Windows Platform
ASP.NET 5 applications
Windows phone and Windows store app
4 – دیتاسورسهای زیر توسط EF 7 ساپورت میگردند.
SQL Server
Azure Table Storage
SQLite
(In Memory (for unit testing
SQL Server Compact
PostgreSQL
IBM Data Servers
اگر با No-SQL سر و کار داشته باشید ، خواهید که برای حجمهای عظیم دیتا این تکنولوژی از دیتابیسهای رابطه ای قوی تر عمل خواهد نمود . EF 7 حتی این نوع از دیتابیسهای غیر رابطه ای را هم پشتیبانی کرده و میتوان در برنامه نویسی با این مدل دیتا بیس هم از آن استفاده نمود.
5-قابلیت Unit Testing در EF7
6- قابلیت کار با In Memory Table ها
7- قابلیت Logging با استفاده و پیاده سازی ILoggerProvider interface
8- قابلیت حذف Child Record ها در صورت داشتن Permission در اصل قابلیت cascade delete مخصوص این ورژن میباشد.
9-Shadow Properties
این قابلیت در حال حاضر توسط Flunet Api در نسخ قبل از 7 هم وجود دارد . این Property توسط Change Tracker و در رابطه با آن استفاده میگردد.
با وجود اینکه هنوز نقاط تاریک زیادی در زمینه این تکنولوژی ، مخصوصا در پروژه های سایز بزرگ وجود دارد ، ولی ظاهرا ماکروسافت همچنان بر استفاده از آن اسرار داشته و میتوان به آینده آن امید داشت .