Я новичок в инфраструктуре сущности, я использовал Nhibernate. В Nhibernate для обновления объекта нет необходимости передавать идентификатор, вы просто передаете объект, а Nhibernate соответствует его идентификатору и обновляет объект. В EF я использую этот подход:Лучший способ обновления объекта в сущности Framework
protected virtual bool UpdateEntity(TEntity entity, int id)
{
using (var ctx = new GenericContext())
{
var list = ctx.Set<TEntity>().ToList();
ctx.Entry<TEntity>(ctx.Set<TEntity> ().Find(id)).CurrentValues.SetValues(entity);
return ctx.SaveChanges() > 0;
}
}
Для этого требуется идентификатор для обновления объекта. Это лучше всего? Есть какой-то способ обновить объект, просто передав объект, не получив его первым?
Хороший ответ, спасибо. Обратите внимание на «Присоединение сущности к« DbContext », как вы говорите, вы можете прикреплять, но настройка для« Модифицированная »будет прикреплена к вам; [подробнее] (https://stackoverflow.com/q/30987806/1175496) –