public async Task DeleteDiscount(int id) { var result = await context.DiscountPeriods.FirstOrDefaultAsync(e => e.Id == id); var discountTransaction = await context.DiscountTransaction.Where(x => x.DiscountPeriodId == id).ToListAsync(); var item = await context.Item.Where(x => x.DiscountId == id).ToListAsync(); if (discountTransaction != null) { context.DiscountTransaction.RemoveRange(discountTransaction); await context.SaveChangesAsync(); } if (item != null) { foreach (var i in item) { i.DiscountId = 0; context.Entry(i).Property("DiscountId").IsModified = true; context.SaveChanges(); } } if (result != null) { context.DiscountPeriods.Remove(result); await context.SaveChangesAsync(); } }