🔥 Articles, eBooks, Jobs, Columnist, Forum, Podcasts, Courses 🎓



Selecionar e Atualizar um campo usando Entity Framework

Veja como atualizar

image

Olá pessoal meu nome é Mauricio Junior, hoje eu vou falar e mostrar como selecionar um dado do banco de informações, somar um valor e atualizar usando apenas poucas linhas do Entity Framework.

O que estou usando?

  1. Ferramenta Visual Studio
  2. Linguagem C#
  3. Comunicação com o banco de dados Entity Framework
  4. Banco de dados Sql Server
  5. Framework .NETCore

Problema

O problema é, eu recebi um valor e preciso selecionar ele. Depois disso eu preciso pegar um determinado campo, somar mais um e atualizar no database.

Solução

Como eu já executo o comando Where passando o Id necessário, basta agora utilizar o Attach para modificar o valor e salvar no database.

Vamos para o código

O método é bem simples e o que preciso é retornar a string de um determinado campo. Veja o código 1.1

Código 1.1 - Seleciona e atualiza

using System;
using System.Collections.Generic;
using System.Linq;

public string GetById(int id)
{
	if (id == 0)
		return null;
	
	var result = _db.tb_Counter.Where(x => x.CH_COUNTER == id).FirstOrDefault();

	result.QTDE_COUNTER += 1;

	_db.tb_Counter.Attach(result).Property(x => x.QTDE_COUNTER).IsModified = true;
	_db.SaveChanges();

	return result.DESC_COUNTER;
}

O primeiro ponto é receber o valor Id e o primeiro ponto é a verificação. Se o Id é igual a 0 então o método precisa retornar null. Depois disso basta fazer um simples Where com o Lambda de x para pegar o primeiro ou o dado padrão.

O resultado do SQL está armazenado na variável chamada "result" e como eu tenho um campo chamado "QTDE_COUNTER" eu preciso pegar ele e somar mais um. Para isso, basta usar o result.QTDE_COUNTER += 1. Existem várias maneiras de somar, eu coloquei aqui a maneira mais simples de entender.

Depois desses passos, preciso fazer a atualização no database com o valor atualizado. Então eu utilizo o Attach acoplando o (result) baseado apenas na propriedade (x => x.QTDE_COUNTER) modificado e depois uso o IsModified = true.

Para salvar basta usar o SaveChanges() e pronto.

O retorno do método é a minha descrição result.DESC_COUNTER que é uma simples string gravada no database.

Espero que tenha ajudado, eu fico por aqui e qualquer dúvida pode entrar em contato pela rede social Instagram @mauriciojunior_net ou pelo site pessoal mauriciojunior.net.

Subscribe ecode10.com

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.

Log In





Related articles




Top