Crud com Entity Framework fácil parte 2

Bem pessoal hoje vou continuar com o artigo CRUD com Entity Framework.

Hoje vou ensinar como atualizar um cadastro. No decorrer vocês verão como é fácil e sem complicações.

Caso você não tenha visto o primeiro post, sugiro você da uma estudada nele primeiro para poder continuar. Vamos lá!

Depois de criado o nosso banco, formulario e o nosso ORM, clique na pagina Cadastro.aspx.

Adicione um botão chamado atualizar. Agora neste caso, nós devemos adicionar um label para mostrar o id do cliente. Vamos adicionar também um gridView. Mude o nome do grid para GridViewCliente.

Agora você deve clicar 2 vezes sobre o gridview para inserir o código e os dados preencherem os textbox

Segue código:


protected void GridViewCliente_SelectedIndexChanged(object sender, EventArgs e)
{
	lblId.Text = GridViewCliente.SelectedRow.Cells[1].Text;
	txtNome.Text = GridViewCliente.SelectedRow.Cells[2].Text;
	txtEmail.Text = GridViewCliente.SelectedRow.Cells[3].Text;
	txtTelefone.Text = GridViewCliente.SelectedRow.Cells[4].Text;
}

Depois clique 2 vezes sobre o botão atualizar para ele gerar o método e inclua o seguinte código:

Como você pode observar na no código estou usando um método do entity framework. Ele pede o entitySetName e a entidade corrente. Esse método vai pegar os valores correntes. Os valores em execução

O código vai ficar assim:


ctx.ApplyCurrentValues(“ClienteSet”, cliente);
ctx.SaveChanges();

Agora devemos criar um método para carregar a nosso gridview com nossos dados.

Esqueci de colocar uma linha importante no nosso código. Adicione essa linha acima da cliente.Id.


cliente = ctx.ClienteSet.Where(cli => cli.Id == Id).First(); // Devemos efetuar uma busca no banco pelo Id do cliente. Estou usando expressão lambda.


public void CarregaGrid()
{
	ModeloContainer ctx = newModeloContainer();
	var dados = ctx.ClienteSet.Select(c => new
	{ 
		c.Id,
		c.Nome,
		c.Email,
		c.Telefone
	});

	GridViewCliente.DataSource = dados;
	GridViewCliente.DataBind();
}

Agora o devemos chamar nosso método carregarGrid para que possamos ver a atualização sendo realizada.


ctx.SaveChanges();
CarregaGrid();//Adicione essa linha abaixo do savechanges.

Depois você deve chamar o método CarregarGrid no Page_Load:


Protected void Page_Load(object sender, EventArgse)
{ 
	if(!Page.IsPostBack)
	{
		 CarregaGrid();
	}
}

Agora você clicar sobre o GridView e escolher Edit Colums.

Faça conforme a figura acima demonstra. Altere o nome do SELECT para editar. Depois clique em ok e você vera o resultado.

Pronto. Salve e rode o projeto. Adicione e depois altere os dados para testar.

O proximo vou ensinar a excluir.

Até a próxima. Qualquer dúvida deixe um cometário.