Есть отношения один-к-одному:
builder.Entity<Models.Card>()
.HasOne<Models.Owner>()
.WithOne(c => c.Card)
.HasForeignKey<Models.Owner>("OwnerId");
В этот момент
OwnerId = 1 has Card.Id = 333
а также
OwnerId = 2 has Card.Id = 444
Если попытаться изменить CardId для OwnerId = 1
на CardId = 444
, я получу сообщение об ошибке типа Duplicate entry ... for key ...
, потому что OwnerId = 2 уже имеет ту же карту (Card.Id = 444).
Каков наилучший способ предотвратить такое поведение: удалить Card.Id = 444 из OwnerId = 2 и изменить CardId на запрашиваемый для Владельца 1?