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.
تعليقات
إرسال تعليق