#entity-framework
#entity-framework
Вопрос:
var newRock = new Rock();
context.Rocks.Add(newRock);
newRock.Hard = True;
newRock.Shiny = False;
newRock.CodeName = "Projectile";
context.SaveChanges();
В приведенном выше сценарии, как только я вызываю SaveChanges(), будут ли сохранены изменения, внесенные в объект после его добавления (жесткий, блестящий, кодовое имя)? Или мне нужно будет снова получить объект из базы данных, чтобы иметь действительно подключенный объект?
Я знаю, что всегда мог просто установить свойства для нового объекта, прежде чем добавлять его. Но выполнение этого таким образом сократило бы количество дублирующегося кода, который мне нужно было бы написать.
Комментарии:
1. Да, это сохранит их.
2. Нет разницы между «прикрепленным» и «действительно прикрепленным» 🙂
Add
присоединяет объект, помечает его какAdded
и начинает отслеживать его изменения.3. Спасибо. У меня был опыт работы с другими БД / ORM, где вам приходилось присоединять свой объект к БД и фиксировать это изменение до отслеживания любых других изменений в объекте, и я не смог найти документацию для EF, в которой так или иначе указано.