public static string Delete(Person person) { using (var db = new PersonContext()) { if (CanRemovePerson(person)) { //удаляем человека var entry = db.Entry(person); if (entry.State == EntityState.Detached) { db.Persons.Attach(person); db.Persons.Remove(person); } //удаляем все связи с ним var relations = db.Relatives.Where(r => (r.PersonId == person.Id) || (r.RelativeOfPersonId == person.Id)); foreach (var relation in relations) { db.Relatives.Remove(relation); } db.SaveChanges(); return null; } return "Чтобы удалить этого человека, удалите все связи с ним"; } }