У меня есть сценарий, в котором я создаю два новых объекта, которые связаны через навигационное свойство (внешний ключ), например:
ClientAccount client = new ClientAccount {
......
AccountTypeId = 1
};
ClientEmailAddress email = new ClientEmailAddress {
ClientId = client.Id,
EmailAddress = "test@test.com"
};
client.FkClientEmailAddresses.Add(email);
Когда я пытаюсь сохранить, хотя бы через dbContext.SaveChanges();
,Я получаю исключение:
Cannot add or update a child row: a foreign key constraint fails (`test`.`client_email_addresses`, CONSTRAINT `FK_client_email_addresses_client_accounts` FOREIGN KEY (`client_id`) REFERENCES `client_accounts` (`client_account_id`))
Я полагаю, что это потому, что объект ClientAccount не имеет идентификатора в то время, когда я назначаю его для объекта ClientEmailAdresss.
Может ли кто-нибудь подтвердить, является личто я пытаюсь сделать это возможно?Я бы предпочел не иметь несколько вызовов .SaveChanges.