Entity Framework - حذف البيانات (Delete)

Entity Framework Core - حذف البيانات (Delete)

عملية حذف السجلات من قاعدة البيانات باستخدام EF Core تتم بطريقة بسيطة جدًا عن طريق جلب الكائن المطلوب حذفه ثم استخدام الدالة Remove لحذفه من DbContext.

---

🔹 الخطوات الأساسية لحذف البيانات:

  • 1️⃣ جلب السجل الذي ترغب بحذفه.
  • 2️⃣ استخدام الدالة Remove لحذفه من DbContext.
  • 3️⃣ استدعاء SaveChangesAsync لتطبيق التغييرات.
---

🔹 مثال عملي على حذف طالب:


// ملف Pages/DeleteStudent.razor

@page "/deletestudent/{Id:int}"
@inject ApplicationDbContext db
@inject NavigationManager Navigation

<h3>حذف طالب</h3>

@if (student == null)
{
    <p>جاري التحميل...</p>
}
else
{
    <div class="alert alert-danger">
        هل أنت متأكد أنك تريد حذف الطالب: @student.Name ؟
    </div>

    <button class="btn btn-danger" @onclick="DeleteStudent">تأكيد الحذف</button>
    <button class="btn btn-secondary" @onclick="@(() => Navigation.NavigateTo("/studentslist"))">إلغاء</button>
}

@code {
    [Parameter]
    public int Id { get; set; }

    private Student student;

    protected override async Task OnInitializedAsync()
    {
        student = await db.Students.FindAsync(Id);
    }

    private async Task DeleteStudent()
    {
        db.Students.Remove(student);
        await db.SaveChangesAsync();
        Navigation.NavigateTo("/studentslist");
    }
}
---

🔹 شرح الكود:

  • نقوم بجلب الطالب بواسطة FindAsync عند تحميل الصفحة.
  • عند الضغط على زر "تأكيد الحذف"، يتم استدعاء الدالة DeleteStudent.
  • نستخدم Remove لإزالة الطالب من DbContext، ثم نحفظ التغييرات.
  • بعد الحذف، يتم إعادة التوجيه إلى صفحة عرض الطلاب.
---

🔹 ملاحظة مهمة:

✅ تأكد قبل تنفيذ عملية الحذف أنك فعلاً قد جلبت الكائن المطلوب وتحققت من وجوده لتجنب حدوث أخطاء.

تعليقات

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

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

1.1 SQL Introduction

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