6
respostas

Retorno do Objeto

Quando vou cadastrar um objeto, por exemplo cliente, primeiro coloco ele como Add e depois excuta o comando SaveChanges();

public void Create(Cliente item)
        {
            _db.Clientes.Add(item);
            _db.SaveChanges();
        }

Como faço para no entity para retornar esse Cliente depois que ele foi criado? Para poder fazer outro processo no sistema

6 respostas

Oi Fabio, tudo bom?

O Entity apenas persiste sua entidade no banco de dados, você pode continuar manipulando ela normalmente na sequencia de ter criado. Algo como:

public void Create(Cliente item)
        {
            _db.Clientes.Add(item);
            _db.SaveChanges();
// aqui podemos, por exemplo, pegar o id do cliente
              int id = cliente.Id;
        }

Se você quiser pode utilizar o Cliente que foi passado para esse método também, sem problemas.

Qualquer problema é só falar.

Abraço e bons estudos =)

Boa Tarde, André primeiramente obrigado pela resposta.

Mais como seria se usa-se o "ExecuteSqlCommand" no caso estou fazendo uma query personalizada.

Algo assim:

Cliente result = null;
result.IdCliente =_db.Database.ExecuteSqlCommand(sql);

Retorna o cliente cadastrado

Abraço

Para isso, você precisaria dar uma olhada no método SqlCommand.ExecuteScalar que suporta essa funcionalidade.

Para isso, você precisaria dar uma olhada no método SqlCommand.ExecuteScalar que suporta essa funcionalidade.

Boa Noite André, mais usando o SqlCommand.ExecuteScalar com o EntityFramework existe esse tipo de método no Entity? ou devo criar uma classe de conexão?

Opa, realmente a classe SqlCommand não faz parte do entity. Mas, pro entity a gente tem o ExecuteScalar também a partir da classe EntityCommand =)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software