Entity Framework - مثال عملي على إنشاء أول Migration لمشروع جديد.

Entity Framework Core - مثال عملي على إنشاء أول Migration لمشروع جديد


🎯 الهدف من الدرس

في هذا المثال العملي، سنتعلم كيفية:

  • إنشاء مشروع جديد باستخدام Entity Framework Core.
  • كتابة أول نموذج بيانات (Model).
  • إنشاء أول Migration لقاعدة البيانات.
  • تحديث قاعدة البيانات فعليًا.


🛠️ خطوات إنشاء أول Migration

1. إنشاء مشروع جديد

أنشئ مشروع جديد من نوع ASP.NET Core Web API أو Console App حسب احتياجك.


dotnet new webapi -n MyFirstEfProject
cd MyFirstEfProject

2. تثبيت الحزم المطلوبة

ثبت حزمة Entity Framework Core المناسبة لنوع قاعدة بياناتك. مثلا مع SQL Server:


dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools

3. إنشاء DbContext والنموذج الأول

أنشئ ملف جديد باسم AppDbContext.cs:


using Microsoft.EntityFrameworkCore;

public class AppDbContext : DbContext
{
    public AppDbContext(DbContextOptions<AppDbContext> options)
        : base(options)
    {
    }

    public DbSet<Product> Products { get; set; }
}

public class Product
{
    public int ProductId { get; set; }
    public string ProductName { get; set; }
}

4. إعداد الاتصال بقاعدة البيانات (Connection String)

افتح appsettings.json وأضف الاتصال:


{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyFirstEfDb;Trusted_Connection=True;"
  }
}

ثم في ملف Program.cs:


builder.Services.AddDbContext<AppDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));

5. إنشاء أول Migration

افتح Package Manager Console أو الطرفية، ثم نفذ الأمر التالي:


Add-Migration InitialCreate

🔹 ماذا سيحدث؟

  • يتم إنشاء مجلد جديد باسم Migrations.
  • يحتوي على ملف Migration باسم InitialCreate به التعليمات لإنشاء جدول Products.


6. تحديث قاعدة البيانات

لتطبيق الـ Migration وإنشاء الجداول فعليًا داخل قاعدة البيانات، نفذ الأمر:


Update-Database

✅ عند مراجعة SQL Server، ستجد أن قاعدة البيانات MyFirstEfDb تم إنشاؤها ويوجد بها جدول Products.


⚡ ملاحظات إضافية

  • يفضل إعطاء Migrations أسماء معبرة (مثلاً: AddProductEntity).
  • يجب التأكد دائمًا أن المشروع يبني بنجاح (Build Successful) قبل تنفيذ Add-Migration.
  • يمكن إنشاء أكثر من Migration لاحقًا مع كل تعديل جديد على الـ Models.

تعليقات

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

C# - Arrays

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

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