У меня есть 3 нормализованных таблицы, состоящие из сотрудников, отделов и сотрудников.Я хочу иметь возможность назначить сотрудника одному или нескольким отделам, следовательно, таблицу ссылок (EmployeesToDepartments).Я могу успешно запросить базу данных и извлечь полную иерархию сущностей через свойства навигации, используя
this.ObjectContext.Employees.Include("EmployeesToDepartments").Include("EmployeesToDepartments.Department")
плюс атрибут [Включить] в метаданных, что позволяет мне получить доступ к отделам для данного сотрудника.При попытке удалить ссылку между [Employee] и [Department] в таблице [EmployeesToDepartments] мне выдается ошибка ограничения внешнего ключа.
Я упростил мою модель, включив в нее только одно свойство навигации между [Employees] и [EmployeesToDepartments].Ограничение внешнего ключа между [Employees]. [ID] и [EmployeesToDepartments]. [IDEmployee] не позволяло мне обновить таблицу EmployeesToDepartments.С этим удаленным через настройку Отношений теперь я могу обновить таблицу.Теперь я могу без ошибок выполнить следующий код
foreach (var rel in _employee.EmployeesToDepartments)
{
_employee.EmployeesToDepartments.Remove(rel);
}
_domainContext.SubmitChanges();
.
Я ожидал увидеть записи в RelEmployeesToDepartments с IDEmployee, которые будут удалены.То, что я вижу в таблице, это значение 0, где ранее был IDEmployee.
Можно ли принудительно выполнить оператор DELETE?Я неправильно понимаю основные понятия здесь?
Любая помощь будет высоко ценится.