Ваши Attach1
и Attach2
методы выполняют разные вещи, и неясно, что вы ожидаете делать в этих методах. Когда вы присоединяете объект к EF, он будет добавлен в контекст в состоянии Unchanged
. Если вы измените сущность после присоединения, EF будет отслеживать эти изменения, и сущность будет в состоянии Modified
.
Attach1
Этот метод прикрепит объект и пометит его как измененный. Таким образом, последующий SaveChanges()
обновит все свойства объекта. Вызывать SaveChanges()
внутри метода Attach
не рекомендуется, поскольку он делает больше, чем просто присоединение.
Attach2
Этот метод прикрепит сущность как Unchanged
.