• قابلیتهای Entity Frame Work 7 یاهمان EF Core 1
قابلیتهای Entity Frame Work 7 یاهمان EF Core 1
1395/01/22 - 10:37:23 // DataBase and Design Pattern // 1 نظر // 622 بازدید

همانطور که میدانید 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 و در رابطه با آن استفاده میگردد.

با وجود اینکه هنوز نقاط تاریک زیادی در زمینه این تکنولوژی ، مخصوصا در پروژه های سایز بزرگ وجود دارد ، ولی ظاهرا ماکروسافت همچنان بر استفاده از آن اسرار داشته و میتوان به آینده آن امید داشت .

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

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
برچسب ها
Entity FrameWork 7 EF Core1 SQL ORM 
نظرات کاربران
  • فرشید علی اکبری
    1395/02/09 - 13:14:54

    2
    0
    سلام من خودم به شخصه از ابتدای شروع کار با دات نت و مطالعه در ابزار و تکنولوژی های آن، تمایل شدیدی در استفاده از Code First پیدا کردم که در ویندوز فرم بسیار عالی بمن جواب داد و در حال حاضر هم که چند ماهی است وارد مباحث و یادگیری برنامه نویسی وب شده ام از اینکه از ابتدا راه را درست رفته ام خیلی خوشحالم ولی نکته اینجاست که اگر مایکروسافت امکان پشتیبانی این فریموورک از دستورات جدید SQL SERVER2016 را هم به آن اضافه کند تا برنامه نویسان (درحالات خاص) مجبور به ارسال کوئری های خام توسط این فریموورک به سمت سرور نباشند خیلی خیلی عالی وکاربردی تر خواهد شد.
ارسال نظر