using Application.Abstractions.Data; using Application.Abstractions.Messaging; using Microsoft.EntityFrameworkCore; namespace Application.Features.Admin.Donation.List.Delete; public sealed class Handler(IAppDbContext db) : ICommandHandler { public async Task Handle(Command request, CancellationToken ct) { if (request.IDs is null || request.IDs.Length == 0) { return; } // DonationAlert (1:1)이 붙어 있으면 FK 제약 회피 위해 먼저 삭제 await db.DonationAlert.Where(a => request.IDs.Contains(a.DonationID)).ExecuteDeleteAsync(ct); await db.Donation.Where(x => request.IDs.Contains(x.ID)).ExecuteDeleteAsync(ct); } }