Как я могу удалить сущности EF эффективным способом? - PullRequest
0 голосов
/ 13 сентября 2011

У меня есть следующая (упрощенная) модель EF, к которой я обращаюсь с помощью служб RIA:

public class Employee
{
    public long Id { get; set; }
    public string Name { get; set; }
}

public class Department
{
    public long Id { get; set; }
    public string Name { get; set; }
    public List<Employee> { get; set;}
}

Я ожидал бы, когда я удалю отдел из моего DomainContext, что упомянутые сотрудники также будут удалены. В основном каскадное удаление, обработанное EF.

Теперь я нашел 2 способа добиться этого:

1. Включить Каскадное удаление на уровне базы данных:

Я бы очень, очень не хотел этого делать, если это вообще возможно.

2. Загрузите дочерние объекты (Сотрудники) во время выполнения (в настоящее время реализовано):

Когда пользователь хочет удалить отдел, сотрудники загружаются в список, повторяются и удаляются из контекста. Я не могу помочь, но чувствую, что это неуклюже, это работает, однако ...

Есть какие-нибудь мысли о правильном способе справиться с этим? Спасибо!

1 Ответ

3 голосов
/ 13 сентября 2011

Вы упомянули оба способа, поддерживаемые EF. Если они вам не нравятся, вам нужна хранимая процедура - лучшего способа нет. В случае EF наиболее распространенным решением является каскадное удаление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...