Exemplo n.º 1
0
        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 "Чтобы удалить этого человека, удалите все связи с ним";
            }
        }