我们在处理循环依赖时遇到问题,并想知道是否有人可以提出解决方案。如果我们想删除一个客户端,实体框架拒绝这样做,因为它告诉我们外键约束失败。我们的表是建立这样的:避免循环依赖:MySQL/Entity Framework
ClientAccounts
Id [PK]
Forenames
Surname
DefaultEmailId [FK, NULLABLE]
ClientEmailAddresses
Id [PK]
Description
EmailAddress
ClientId [FK, NON-NULLABLE]
所以一个客户可以有自己的帐户关联零个或多个电子邮件地址。其中一个将是他们的默认联系电子邮件地址。
我认识到,如果我们允许ClientEmailAddresses表有一个空的ClientId,它会工作正常;但我们不希望出现孤儿电子邮件记录的情况。
我们喜欢这个解决方案,因为它会打破循环问题,但担心的是我们可以有多个默认值。 – pierre
是的,在这种情况下,您的逻辑将更加复杂。您应该首先重置先前的默认状态并设置一个新的状态。 –