Entity Framework Core چیست

Entity Framework Core چیست؟
Entity Framework Core چیست؟

Entity Framework Core چیست ؟ EF Core چه مزیت هایی دارد ؟  ORM چیست ؟ روش Code First چیست ؟ روش Database First چیست ؟ به چند روش می توانیم Entiry Framework Core را توسعه دهیم ؟ اگر به دنبال پاسخ این سوالات هستید به هیچ عنوان این مقاله آموزشی را از دست ندهید.

Entity Framework Core چیست

EntityFramework Core یک ORM  چند سکویی (Cross Platform) هست که به ما این امکان را می دهد که بتوانیم با بانک های اطلاعاتی مختلف مثل SQL Server از طریق اشیاء NET. کار کنیم. این نسخه Entity Framework که بعد از Entity Framework 6 معرفی شد هم Open Sourse هست و هم Cross Platform و علاوه بر این سبک و قابل گسترش نیز هست خب حالا شاید این سوال برای شما پیش بیاد که ORM چیست ؟

در ادامه ی این مقاله با ORM یا (Object-Reletional Mapping) آشنا خواهید شد.

(Object-Reletionl Mapping)ORM چیست

ORM در واقع یک لایه مترجم بین زبان برنامه نویسی ما و پایگاه داده هست که این دو را به هم تبدیل می کند و به ما کمک میکند که بین زبان برنامه نویسی مون که سی شارپ هست و بانک اطلاعاتی مون که SQL Server هست ارتباط برقرار کنیم و تبادل اطلاعات داشته باشیم.

یکی از مهم ترین مزیت های ORM ها این هست که عملیات CRUD (Create-Read-Update-Delete) را به راحتی برای ما انجام می دهد. خب حالا در ادامه این مقاله با مزیت های Entity Framework Core آشنا خواهید شد.

مزیت های EntityFramework Core

  1. آسان کردن تغییر بانک اطلاعاتی

    وقتی شما با یک بانک اطلاعاتی مثل SQL Server کار می کنید و بعد از گذشت یک مدت میخواهید بانک اطلاعاتی تون را از SQL Server به مثلا SQLight تغییر بدید Entity Framework Core این کار را برای ما به راحتی انجام می دهد.

  2. کوئری نویسی با استفاده از LINQ

    با بهره گیری از Entity Framework می توانیم با استفاده از LINQ کوئری نویسی انجام دهیم. و با کوئری نویسی از طریق LINQ خطر حمله SQL Injection را تقریبا به صفر برسانیم.

  3. OpenSource بودن

    از دیگر مزایای EntityFrameworkCore می توانیم به Open sourse بودن یا مجانی بودن آن اشاره کنیم و نسخه EF Core در GitHup قابل دسترسی است و همین ویژگی Open Sourse یا مجانی بودن یکی از تفاوت های Entity Framework Core با Entity Framework 6 هست.

  4. چند سکویی بودن

    یکی دیگر از مزیت های Entity Framework Core این است که چند سکویی هست و قابلیت اجرا روی سیستم عامل های مختلف مثل Mac و Linux را داراست.

  5. پشتیبانی از اکثر بانک های اطلاعاتی

    Entity Framework Core نسبت Entiry Framework 6 از بانک های اطلاعاتی بیشتری پشتیبانی می کند و در نسخه Entity Framework Core پشتیبانی از بانک های اطلاعاتی NoSql هم افزوده شده است.

 

روش های توسعه Entity Framework Core

Entity Framework Core را می توانیم به دو روش توسعه دهیم:

  1. روش Code First
  2. روش Database First

در ادامه این مقاله از سایت میزفا با این دو روش به صورت کامل آشنا خواهید شد.

  • روش Code First چیست

    در روش Code – First مطابق تصویری که برای شما قرار دادم به ازای هر جدول در Database یک کلاس یا Model تعریف می کنیم و درنهایت این کلاس ها ، جداول دیتابیس را می سازند و Property های هر کلاس هم ستون های این جداول را تشکیل می دهند.

Code-First چیست ؟
Code-First چیست ؟

 

  • روش Database First چیست

    در روش Database-First  همانند تصویری که برای شما قرار دادم ، ما یک پایگاه داده آماده داریم و این پایگاه داده ما تبدیل میشه به کلاس Context و کلاس های Entity که همون مدل های ما هستند.

Database-First چیست ؟
Database-First چیست ؟

 

امیدوارم که از این مقاله از سری مقالات اموزش ASP.NET Core 2 لذت برده باشید. در صورتی که سوالی داشتید در قسمت نظرات پاسخگوی شما خواهیم بود.

فیلم آموزشی asp.net core 2

آرزو ابراهیمی
بیش از 6 سال است که زمینه طراحی و توسعه سایت فعالیت می‌کنم، طراح و برنامه نویس انواع سامانه‌های تخصصی پزشکی، مناقصات، فروشگاهی و … بودم و هستم و هدفم در سایت میزفا ارائه اطلاعات بروز و ناب در زمینه طراحی سایت است. تا از این طریق بتونم تجربیات و دانسته های خودم را با تمامی علاقمندان به مباحث طراحی سایت به اشتراک بزارم .

فیلم آموزشی asp.net core 2

11 نظر

11 پاسخ

  1. با سلام
    دو تا سوال داشم
    1- در جایی که حجم داده ها خیلی زیاده و سرعت خیلی مهمه استفاده از EF رو توصیه میکند .در واقع سوالم اینه که ADO.NET سرعت بیشتری داره یا EF ؟
    2-وقتی مثلا حجم زیادی از داده قراره insert یا Update بشه و یا چندین فرایند همزمان از طریق چندیم کاربر روی یک داده مشترک اجرا بشه ، و به هر دلیلی این اتفاق نیافته ،EF جه راهکاری داره.یعنی اطمنان از اینکه عملیات 100 درصد تکمیل شده.(آیا اصولا این موضع ربطی به ORM داره؟)

    1. سلام وقت بخیر ، سرعت ADO.NET بیشتر از EF Core است طبق چندین مقاله ای که مطالعه کردم. پس اگر خیلی performance براتون خیلی مهم هست می تونید از ADO استفاده کنید.

      1. سلام
        والا تا جایی که من میدونم سرعت EF code First خیلی بیشتر از ADO است.

        میشه لطف کنید اون مقاله های که مطالعه کردید رو برای بنده ارسال کنید یا لینکش رو قرار بدید تا ما هم بخونیم !!!؟

  2. عالییییییییییییی بود . یعنی عالی .
    خیلی وقت بود دنبال این مدل اطلاعات کلی و مفید بودم که توی سایت شما دیدم
    فقط می تونم بگم اطلاعات فوق العاده مفیدی بود

    1. سعی کردم که در این مقاله مبحث entity framework رو به صورت کامل آموزش بدم در مقالات آینده به صورت عملی به مبحث Entity FrameworkCore خواهیم پرداخت.

      1. با سلام
        تشکر میکنم از مقاله خوبتون .
        میخاستم مزایای EF Core نسبت به EF نسخه 6 رو بدونم.
        با تشکر

        1. با سلام … ممنون … CrossPlatform بودن و Open Sourse بودن EF 7 از جمله ویژگی های برجسته EF 7 نسبت به EF 6 هست.
          EF 7 از پایگاه داده های بیشتری پشتیبانی میکند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید. Drop file here

با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=