Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

ORM هي اختصار لـ Object-Relational Mapping، وتعني "الربط الكائني العلاقي". ببساطة، هي تقنية تُستخدم لربط الكائنات (Objects) في الكود مع الجداول (Tables) في قاعدة البيانات.


🔹 لماذا نحتاج إلى ORM؟

بدون ORM، نحتاج إلى كتابة استعلامات SQL يدوية والتعامل مع الكائنات بأنفسنا. بينما ORM توفر لنا طبقة وسيطة تقوم بتحويل الكود الكائني إلى استعلامات SQL تلقائيًا، والعكس أيضًا.

🔹 مزايا ORM

  • تسريع التطوير.
  • تقليل كمية الكود المكتوب.
  • سهولة التعامل مع البيانات بشكل كائني.
  • دعم التحقق من النوع (Type Checking) في وقت البرمجة.

🔹 عيوب ORM

  • أداء أقل من SQL اليدوي في العمليات المعقدة.
  • بعض المرونة تضيع بسبب التجريد العالي.

🔸 مقارنة بين EF Core وDapper وNHibernate

التقنية النوع السهولة الأداء الدعم والانتشار
Entity Framework Core ORM كامل سهل ومتكامل مع .NET متوسط مرتفع (مدعوم من Microsoft)
Dapper Micro ORM أبسط ولكن يتطلب كتابة SQL عالٍ جدًا عالي (مدعوم من Stack Overflow)
NHibernate ORM كامل أكثر تعقيدًا من EF جيد أقل نسبيًا من EF/Dapper

✅ متى أستخدم كل تقنية؟

  • EF Core: إذا كنت تريد كتابة أقل وتكامل كامل مع .NET، وهو مناسب للمشاريع متوسطة إلى كبيرة الحجم.
  • Dapper: إذا كنت تبحث عن أفضل أداء وتحب التحكم في SQL يدويًا، مناسب للمشاريع الصغيرة أو الخدمات التي تتطلب أداء عالي.
  • NHibernate: إذا كنت تعمل على نظام قديم يستخدمه بالفعل، أو تحتاج ميزات معقدة غير متوفرة في EF.

🔚 في الدرس التالي، سنبدأ في الحديث عن Entity Framework Core بالتفصيل، ونشرح ما هو ولماذا نستخدمه.

تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

1.1 SQL Introduction

Entity Framework - مقدمة عن Entity Framework