示例#1
0
        public async Task<IActionResult> DeleteConfirmed(string id)
        { 
            // This block deletes an entry's dependencies in a database.
            var addresses = new List<Address>();
            addresses = (from address in _context.Address where address.PersonId.Equals(id) select address).ToList();
 
            foreach (var address  in addresses ) 
            {
                _context.Address.Remove( address); //execution from DB
            }
             
            var learner = _context.Learner.Include(lc => lc.LearnerCourse).Where(m => m.Person.NationalId.Equals(id)).FirstOrDefault();

            if (learner != null)
            {
                foreach (var lc  in learner.LearnerCourse )
                {  
                    if(lc.LearnerCourseId != 0)
                    _context.LearnerCourse.Remove( lc); //execution from DB
                }
                 
                _context.Remove(learner);
            }
            
            var person = _context.Person.Where(m => m.NationalId.Equals(id)).FirstOrDefault();
            _context.Person.Remove(person); 
            await _context.SaveChangesAsync();
            return RedirectToAction(nameof(Index));
        }