예제 #1
0
        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();
        }
예제 #2
0
파일: Program.cs 프로젝트: peresdev/EF-Core
        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();
        }
예제 #3
0
        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();
        }
예제 #5
0
        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
        }
예제 #6
0
        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();
        }
예제 #7
0
        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();
        }
예제 #8
0
        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();
        }