ASP.NET 3.5, AJAX, LINQ, Segurança, Silverlight, Web Mobile.

Figura 1 - Arquitetura do Entity Framework
Nesta segunda parte do artigo vamos trabalhar com a manipulação dos dados (insert, update e delete).
Vamos começar inserindo e atualizando dados na tabela LIVRO. No Default.aspx adicione o evento click do botão Salvar.

Figura 2
No Default.aspx vamos criar o método btnSalvar_Click e instanciar o contexto.

Figura 3
Quando o usuário clicar no botão Salvar, caso o título informado pelo usuário não exista no banco de dados um novo registro deve ser incluído, caso contrário o registro existente deve ser atualizado. Portanto, vamos primeiro buscar o dado na tabela LIVRO.

Figura 4
Se a lista de livro não possuir itens significa que o registro não existe e vamos fazer uma inserção.

Figura 5
Analisando a region "Insert", primeiro criamos um objeto da classe LIVRO e preenchemos as propriedades desse objeto com os dados informados pelo usuário na interface, depois adicionamos o objeto contexto através do método AddToLIVRO. Por último, fizemos a chamada ao método SaveChanges do contexto que identifica o objeto que incluímos e realiza a inserção no banco de dados.
Se a lista de livros possuir um item significa que o livro que o usuário está informando já existe e devemos apenas atualizar os campos AUTOR e ID_CATEGORIA. Vamos então incluir a region "Update" entre a region "Insert" e a linha "context.SaveChanges();".

Figura 6
Na region "Update" apenas alteramos as propriedades AUTOR e ID_CATEGORIA do objeto objLivro e novamente fizemos a chama ao método SaveChanges que vai se encarregar de identificar as propriedades que sofreram alterações e realizar o update no banco de dados.
Para que o usuário possa visualizar os dados que estão sendo manipulados vamos criar o método CarregaGrid que vai buscar os livros cadastrados e associar a GridView que adicionamos no Default.aspx.

Figura 7
Observe que usamos o método Include para trazer os dados da categoria de cada livro e criamos um novo objeto apenas com as propriedades que vamos utilizar na GridView.
Coloque a chamada ao método CarregaGrid no evento btnSalvar_Click e no Page_Load para que ao abrir o site pela primeira vez a GridView já venha com os dados carregados.

Figura 8

Figura 9
Agora é só executar a aplicação e ver como ficou.

Figura 10
Preencha os campos e clique no botão Salvar para ver o dados sendo incluído.

Figura 11

Figura 12
Se mudarmos agora o autor e a categoria poderemos ver a alteração.

Figura 13
Volte o registro que alteramos aos dados originais e inclua mais alguns para que possamos trabalhar com a exclusão de registros.

Figura 14
Podemos verificar nos exemplos acima que o GridView que incluímos no Default.aspx possuí uma coluna para a exclusão do registro, falta apenas definirmos o hyperlink desta coluna e faremos isso no evento onrowdatabound.

Figura 15
Vamos criar o método GridView1_RowDataBound que associa o javascript Excluir ao hyperlink de cada linha passando o título do livro com parâmetro que utilizaremos para a exclusão.

Figura 16
O Default.aspx já contém o javascript Excluir implementado.

Figura 17
Crie o método Excluir no Default.aspx.cs da seguinte forma:

Figura 18
No Page_Load vamos implementar o código que identifica que o usuário clicou no hyperlink e invoca o
método Excluir.

Figura 19
Agora vamos implementar o método Excluir.

Figura 20
O que fizemos no método Excluir foi foi instanciar o contexto, buscar o registro referente ao título que foi selecionado pelo usuário, preparar o objeto para exclusão através do método DeleteObject e, com a chamada ao método SaveChanges, efetivar a exclusão.
Agora é só executar a aplicação, clicar no hyperlink Excluir e deixar o Entity Framework trabalhar.

Figura 21
Nesta série de artigos pudermos ver como é simples fazer CRUD com o Entity Framework .
Participe deste artigo deixando seu comentário.
Aprofunde seus conhecimentos sobre esse tema na comunidade ADO.NET.
[]'s,
Tags:
Comentar
Bem-vindo a
Desenvolvendo para web
© 2010 Criado por Ramon Durães no Ning. Crie uma Rede do Ning!
Badges | Relatar um incidente | Privacidade | Termos de serviço
Você precisa ser um membro de Desenvolvendo para web para adicionar comentários!
Join Desenvolvendo para web