Definindo campos atualizados para operação de Update em uma aplicação Asp.Net MVC utilizando Entity Framework - Eryx Guimarães
Definindo campos atualizados para operação de Update em uma aplicação Asp.Net MVC utilizando Entity Framework
Por padrão, o código gerado quando você clica com o botão direito do mouse sobre a pasta Controller de sua aplicação e seleciona a opção Adicionar Controller, irá atualizar todos os campos ou propriedades da entidade de dados selecionada.
Algumas entidades, podem possuir informações que não devem ser incluídas na atualização do registro. Um exemplo comum ocorre quando há um campo de imagem. Caso uma nova imagem não tenha sido selecionada, o código de Update precisa informar para o Entity Framework que o valor original não foi alterado. Veja o exemplo abaixo para a propriedade Foto da entidade Post.
db.Entry(post).Property(o => o.Foto).IsModified = false;
No caso de querer personalizar os campos ou propriedades que serão atualizadas pela função, utilize o método Attach disponibilizado pela instância do objeto que representa sua entidade no contexto da aplicação. Por exemplo:
No exemplo acima, os demais campos têm a propriedade IsModified definida com o valor true mas não é necessário por ser o valor padrão. O método SaveChanges() replica as alterações para o banco de dados.