Я пытаюсь удалить объект, который имеет отношения внешнего ключа через Entity Framework (MySQL / Connector).
ClientAccount >>> ClientEmailAddresses
foreach (ClientAccount client in recsClientStore.Deleted) {
ClientAccount stub = new ClientAccount();
stub.Id = client.Id;
this.DBContext.AttachTo("ClientAccounts", stub);
stub.FkClientEmailAddresses.Clear();
this.DBContext.DeleteObject(stub);
}
this.DBContext.SaveChanges();
.. но при этом я получаю следующую ошибку:
Операцияfail: отношение не может быть изменено, так как одно или несколько свойств внешнего ключа не могут иметь значение null.Когда в отношение вносится изменение, для соответствующего свойства внешнего ключа устанавливается нулевое значение.Если внешний ключ не поддерживает нулевые значения, необходимо определить новое отношение, свойству внешнего ключа должно быть назначено другое ненулевое значение или несвязанный объект должен быть удален.
IЯ не совсем уверен, где это оставляет меня.Нужно ли сначала удалять объект EmailAddress?Мы опасаемся включать каскад, но все больше и больше похоже на то, что это необходимо для очистки внешних ключей.