private static void UpdateEntity() { using var db = new Data.ApplicationContext(); //var cliente = db.Clientes.Find(1); //cliente.Nome = "cliente updated again"; var cliente = new Cliente { Id = 1 }; var clienteDTO = new { Nome = "cliente updated", Telefone = "61985465858" }; // update entry without find db.Attach(cliente); db.Entry(cliente).CurrentValues.SetValues(clienteDTO); //db.Clientes.Update(cliente); // this will update all entity fields db.SaveChanges(); }
private static void AtualizarDados() { using var db = new Data.ApplicationContext(); //var cliente = db.Clientes.Find(1); var cliente = new Cliente { Id = 1 }; var clienteDesconectado = new { Nome = "Cliente desconhecido 2", Telefone = "76555698885" }; db.Attach(cliente); db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado); //cliente.Nome = "Leandro Peres Atualizado"; //db.Entry(cliente).State = EntityState.Modified; //db.Clientes.Update(cliente); db.SaveChanges(); }
private static void AtualizarDados() { using var db = new Data.ApplicationContext(); // var cliente = db.Clientes.FirstOrDefault(p => p.Id == 1); // var cliente = db.Clientes.Find(1); // como você já sabe o ID, pesquise por find //cliente.Nome = "Cliente Alterado passo 2"; var cliente = new Cliente { Id = 1 }; var clienteDesconectado = new { Nome = "Cliente Desconectado", Telefone = "987786554" }; db.Attach(cliente); db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado); // db.Entry(cliente).State = EntityState.Modified; // db.Clientes.Update(cliente); Sobrescreve todas as propriedades, mesmo aquelas que não foram alteradas // Você pode remover essa linha de código db.SaveChanges(); }
private static void AtualizarDados() { var db = new Data.ApplicationContext(); //var cliente = db.Clientes.Find(1); var cliente = new Cliente { Id = 1 }; var clienteDesconectado = new { Nome = "Cliente Desconectado 3", Telefone = "0101010101" }; db.Attach(cliente); db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado); //db.Clientes.Update(cliente); db.SaveChanges(); }
private static void AtualizaCamposDesconectado() { /* * Quando os dados ainda não estão estanciados. * -> Temos um frontend e o usuário está preenchendo os dados em formulário. * -> Envimos os dados para uma API, e essa API em acesso aos BD. * -> Assim, a api trata essa inserção * -> Recebemos o id do cliente, no caso 1 * -> E os dados estão em outro objeto NovoCliente * -> somente alguns campos sofrem alteração */ using var db = new Data.ApplicationContext(); var cliente = new Cliente { Id = 1 }; var novoCliente = new { Nome = "José", Telefone = "5187542154" }; db.Attach(cliente); //anexa o cliente db.Entry(cliente).CurrentValues.SetValues(novoCliente); //rastreia }
private static void AtualizarDados() { using var db = new Data.ApplicationContext(); #region Update 1 //var cliente = db.Clientes.Find(1); //cliente.Nome = "Cliente Alterado Passo 1"; //db.Clientes.Update(cliente); // Altera todas as colunas #endregion #region Update 2 //var cliente = db.Clientes.FirstOrDefault(p => p.Id == 1); //cliente.Nome = "Cliente Alterado Passo 2"; #endregion #region Update 3 //var cliente = db.Clientes.FirstOrDefault(p => p.Id == 1); //cliente.Nome = "Cliente Alterado Passo 3"; //db.Entry(cliente).State = EntityState.Modified; #endregion #region Update 4 var cliente = new Cliente { Id = 1 }; var clienteDesconectado = new { Nome = "Cliente Desconectado Passo 4", Telefone = "7966669999" }; db.Attach(cliente); db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado); #endregion db.SaveChanges(); }
private static void AtualizarDadosDesconectado2() { using var db = new Data.ApplicationContext(); var cliente = new Cliente { Id = 1 }; var clienteDesconectado = new { Nome = "Cliente Desconectado Passo 2", Telefone = "666666666" }; db.Attach(cliente); // Começa a rastrear o objeto db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado); db.SaveChanges(); }
private static void AtualizarDados02() { using var db = new Data.ApplicationContext(); var cliente = new Cliente { Id = 1 }; var clienteDesconectado = new { Nome = "Cliente Desconectado Passo 3", Telefone = "991541163" }; db.Attach(cliente); db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado); db.SaveChanges(); }