Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1105
Assunto : ADO.NET
Titulo: Fazendo Update de apenas alguns campos da entidade no Entity Framework

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon




Muitas vezes temos a necessidade de fazer a atualização de apenas alguns campos em uma entidade, e não a entidade inteira.

O problema é que a forma trivial de conseguir isso envolve recuperar a entidade da base de dados para depois atualiza-la, o que em muitos casos significa uma comunicação desnecessária com o servidor de dados.

É, sim, possível atualizar apenas algumas propriedades de uma entidade e evitar a atualização das demais.

Veja um exemplo de como fazer :


NorthwindEntities ne = new NorthwindEntities();
ne.Customers.Attach(cliente);
var dbentry = ne.Entry(cliente);
dbentry.State = System.Data.EntityState.Modified;
dbentry.Property("ContactTitle").IsModified = false;
dbentry.Property("Address").IsModified = false;
dbentry.Property("City").IsModified = false;
dbentry.Property("Region").IsModified = false;
dbentry.Property("PostalCode").IsModified = false;
dbentry.Property("Phone").IsModified = false;
dbentry.Property("Fax").IsModified = false;
ne.SaveChanges();


Temos na variável "cliente" uma entidade cliente com alguns campos atualizados e os demais nulos. Isso pode acontecer com frequencia na web.

Vinculamos a variável "cliente" na coleção da entidade.

Obtemos a dbEntry da entidade.

Definimos a entidade como modificada.

Definimos todas as demais propriedades como não modificadas.

Fazemos um savechanges.

Com isso as propriedades modificadas (para as quais NÃO aplicamos o IsModified=false) serão atualizadas, as demais náo.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br