Вы можете обернуть все свои операции с базой данных в транзакцию.Если что-то «происходит», вы просто не фиксируете транзакцию, и все будет откатано.Операции базы данных Entity Framework будут участвовать в транзакции и не будут зафиксированы до тех пор, пока вы не вызовете метод фиксации транзакции.
В качестве альтернативы, если у вас правильно сопоставлены сущности, вы можете указать отношения в коде, и каркас разрешитвнешние ключи для вас.Это означает, что вы можете написать
cred.Persons.Add(person);
cred.Addresses.Add(address);
. Фреймворк понимает, что эти объектные отношения сопоставляются с отношениями базы данных, которые включают сопоставленные внешние ключи.Сначала будет вставлена зависимость (в вашем случае таблица creditos
), затем будет получено значение идентификатора, а затем соответствующие таблицы будут обновлены с использованием этого отношения.
Вы можете сделать все это водиночный SaveChanges
звонок.