.NET Core - إنشاء وربط قاعدة بيانات باستخدام Code First

.NET Core - إنشاء وربط قاعدة بيانات باستخدام Code First

Code First هو أحد أساليب العمل في Entity Framework Core حيث تبدأ بكتابة كائنات C# (Entities)، ومنها يتم توليد قاعدة البيانات تلقائيًا. هذا الأسلوب يناسب المطورين الذين يفضلون التحكم الكامل من داخل الكود.


🔹 الخطوة 1: إنشاء مشروع جديد

من داخل Visual Studio أو باستخدام CLI، أنشئ مشروع ASP.NET Core أو Console App.


dotnet new console -n EFCodeFirstDemo
cd EFCodeFirstDemo

🔹 الخطوة 2: تثبيت حزمة Entity Framework Core


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

أو عبر NuGet Package Manager داخل Visual Studio.

🔹 الخطوة 3: إنشاء كيان (Entity)

أنشئ ملفًا جديدًا باسم Product.cs يمثل الجدول:


public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

🔹 الخطوة 4: إنشاء DbContext

أنشئ كلاس جديد باسم AppDbContext.cs يمثل الاتصال بقاعدة البيانات:


using Microsoft.EntityFrameworkCore;

public class AppDbContext : DbContext
{
    public DbSet<Product> Products { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer(
            "Server=(localdb)\\MSSQLLocalDB;Database=EFCoreDemo;Trusted_Connection=True;");
    }
}

🔹 الخطوة 5: إنشاء قاعدة البيانات باستخدام Migration


dotnet ef migrations add InitialCreate
dotnet ef database update

الأمر الأول ينشئ ملفات Migration والأمر الثاني ينشئ قاعدة البيانات فعلًا بناءً على الـ DbContext والكيانات.

🔹 الخطوة 6: إدخال بيانات تجريبية


using var context = new AppDbContext();

context.Products.Add(new Product { Name = "Laptop", Price = 2500 });
context.Products.Add(new Product { Name = "Mouse", Price = 150 });
context.SaveChanges();

🔹 الخلاصة

أسلوب Code First في EF Core يتيح لك بناء قاعدة البيانات بالكامل من خلال الكود فقط، مما يمنحك تحكمًا كاملاً وسرعة في التطوير، خصوصًا في المشاريع الجديدة أو أثناء النموذج الأولي (Prototype).

تعليقات

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

C# - Arrays

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

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