Все, что делает вызов Add()
, - это эффективная регистрация в контексте данных, чтобы можно было отслеживать сущность. В настоящее время с базой данных не выполняется никаких действий, пока (как вы правильно заметили) вы не позвоните SaveChanges()
.
Я предполагаю, что вы используете автоматически генерируемые идентификаторы в вашей таблице; в данном случае это механизм базы данных, который будет генерировать этот Id при вставке записи, и Entity Framework прочитает это обратно и заполнит вашу сущность за вас.
Итак, чтобы подтвердить ваши подозрения, нет - невозможно получить Id до вызова SaveChanges()
в этом случае.
Надеюсь, это поможет!