Обновление объектов каркаса сущностей

entity entity-framework

Вопрос

Я передаю данные между структурой сущностей и бизнес-уровнем и пользовательским уровнем с помощью объектов передачи данных. У меня есть некоторые сомнения, если я получу объект, который преобразуется в DTO, как мне обновить правильный объект в структуре сущностей, а не просто вставить дубликат?

Популярные ответы

Следующий код обновит сущность EF 4, которая была создана как параметр контроллера в MVC из строго типизированного представления:

Похоже, хитрость заключается в том, чтобы использовать ObjectStateManager для изменения состояния с «Добавлено» на «Изменено» после добавления объекта в контекст.

MyEntities db = new MyEntities();
db.Product.AddObject(product);
db.ObjectStateManager.ChangeObjectState(product, System.Data.EntityState.Modified);
return db.SaveChanges() > 0;

Согласно комментарию @Sean Mills, если вы используете EF5:

 ((IObjectContextAdapter) db).ObjectContext.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Added);


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow