public void DeleteEmployee(int id) { var emp = db.Employee.Include(x => x.Address).First(x => x.EmployeeID == id); var et = dbm.FindEmployeeTeamsByEmployeeID(id); for (int i = 0; i < et.Count; i++) { db.EmployeeTeam.Remove(et[i]); } if (emp.Address != null) { var add = dbm.FindAddressByID(emp.Address.AddressID); if (db.Employee.Include(x => x.Address).Where(x => x.Address.AddressID == add.AddressID).ToList().Count() <= 1) { db.Address.Remove(add); } } db.Employee.Remove(emp); db.SaveChanges(); }