У нас возникли проблемы с циклической зависимостью, и мы задались вопросом, может ли кто-нибудь предложить решение. Если мы хотим удалить клиента, фреймворк сущности отказывается это делать, потому что он сообщает нам, что ограничение внешнего ключа не работает. Наши таблицы настроены следующим образом:
ClientAccounts
Id [PK]
Forenames
Surname
DefaultEmailId [FK, NULLABLE]
ClientEmailAddresses
Id [PK]
Description
EmailAddress
ClientId [FK, NON-NULLABLE]
Таким образом, клиент может иметь ноль или несколько адресов электронной почты, связанных с его учетной записью. Один из них будет их контактным адресом электронной почты по умолчанию.
Я понимаю, что если мы позволим таблице ClientEmailAddresses иметь нулевой ClientId, все будет работать нормально; но мы не хотим ситуации, когда у нас могут быть бесхозные записи электронной почты.