VB .NET - Curso Prático ADO .NET - Módulo de Administração : Gerando o modelo de entidades - II
Vamos continuar o nosso curso prático sobre ADO .NET usando a linguagem VB .NET onde na primeira parte desenvolvemos uma pequena aplicação para uma revenda de filmes e agora estamos desenvolvendo o módulo de administração do sistema.
Nesta aula iremos criar o projeto Windows Forms, referenciar o Entity Framework e criar o nosso Entidade Data Model(EDM) que gera o nosso modelo de entidades e realiza o mapeamento com as tabelas do banco de dados CiaFilmes.mdf.
O
EDM é um modelo entidades - relacionamentos onde :
|
É a partir do modelo de entidades que podemos escrever código usando as diferentes APIs , como o provedor EntityClient ou o Object Services com LINQ to Entities.
Para melhor compreendermos os conceitos relacionados com a EDM podemos separá-los em dois conjuntos:
Você vai perceber que a quantidade de código que será necessário para realizar as tarefas de acesso e persistência aos dados será muito menor pois não teremos que utilizar os objetos ADO .NET nem os comandos SQL.
Criando o projeto Windows Forms e gerando o Entity Data Model (EDM)
Abra o Visual Studio 2012 Express for desktop e clique em New Project ou em FILE -> New Project;
A seguir selecione a linguagem Visual Basic e o template Windows Forms Application informando o nome CiaFilmesWinAdmin;
Será gerada uma solução contendo um projeto com o mesmo nome. A solução irá conter um arquivo App.Config e o formulário Form1.vb;
No menu PROJECT clique em Add New Item;
Referenciando o Entity Framework
Precisamos incluir uma referência ao Entity Framework em nosso projeto e podemos fazer isso de duas maneiras:
Esta opção abre o console para que você possa digitar o comando para instalar o pacote desejado. Para instalar o Entity Framework 5.0 digite o comando:
PM>
Install-Package EntityFramework -Version 5.0.0
Para instalar a última versão, a 6.0.1 digite o comando:
PM>
Install-Package EntityFramework -Version 6.0.1
Esta opção abre a janela Manage Nuget Packages. Clique na guia Online para localizar o pacote desejado (você pode usar a caixa Search Online). Localizando o pacote selecione-o e clique no botão Install:
Nesta opção você instala sempre a última versão disponível.
Após a instalação você pode verificar na janela Solution Explorer clicando no ícone Show All Files e confirmando na pasta References a referência ao Entity Framework:
Pronto agora já temos o Entity Framework pronto para ser usado. Vamos criar o modelo de entidades em nosso projeto gerando o Entity Data Model- EDM.
Gerando o modelo de entidades - EDM
Selecione a guia Data e clique em ADO .NET Entity Data Model informando o nome CiaFilmes.edmx e clique no botão Add;
Na próxima janela selecione a opção : Generate from Database e clique em Next>;
A seguir selecione a conexão com o banco de dados CiaFilmes;
Deixe marcada a opção para salvar a conexão no arquivo App.Config e aceite o nome padrão para o contexto: CiaFilmeEntities e clique no botão Next>;
Expanda e selecione todas as tabelas do banco de dados e marque a opção : Pluralize or singularize generated object names e aceite o nome para namespace Model e clique em Finish;
Nota: A opção Pluralize or singularize generated object names permite gerar uma entidade com o nome Pedido a partir da tabela Pedidos
Será gerado na Janela Soluction Explorer o arquivo CiaFilmes.edmx e o modelo de entidades (as classes) que pode ser visto no descritor conforme figura a seguir:
Observe que temos todas as tabelas mapeadas para entidades, onde os relacionamentos entre as tabelas existem como associações entre as entidades permitindo a navegação entre as mesmas.
Você pode editar as classes para modificar seus nomes ou os nomes de suas propriedades para adicionar relacionamentos com outras classes, incluir herança,etc.
Lazy Load é o mecanismo utilizado pelos frameworks de persistência para carregar informações sobre demanda. Esse mecanismo torna as entidades mais leves, pois suas associações são carregadas apenas no momento em que o método que disponibiliza o dado associativo é chamado. Assim quando objetos são retornados por uma consulta, os objetos relacionados não são carregados ao mesmo tempo, ao invés, eles são carregados automaticamente quando a propriedade de navegação for acessada. É também conhecido como "lazy loading". |
Na janela de propriedades vemos as propriedades do nosso container gerado que representa o nosso contexto e que nos dá acesso as entidades:
Observe o nome do container, o seu namespace e a opção Lazy Loading Enabled marcada como True;
Selecionando uma entidade e clicando com o botão direito do mouse teremos um menu suspenso com várias opção. Clicando em Table Mapping veremos o mapeamento gerado para a entidade. Abaixo vemos a entidade Filme e o seu mapeamento com a tabela Filmes:
Clicando sobre uma área vazia do descritor com o botão direito do mouse, no menu suspenso temos a opção Model Browser que exibe todo o modelo objeto relacional onde podemos ver as entidades, as associações e as tabelas:
Na janela Solution Explorer clicando no ícone Show All Files, expandindo os objetos para o arquivo CiaFilmes.edmx vemos no arquivo CiaFilmes.tt o modelo de entidade gerado:
No arquivo de configuração da aplicação - App.Config - vemos a string de conexão ou entity connection que foi gerada e salva:
<? xml version="1.0" encoding="utf-8"?>< configuration>< startup>< supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></ startup>< connectionStrings><add name="CiaFilmesEntities"connectionString="metadata=res://*/CiaFilmes.csdl|res://*/CiaFilmes.ssdl|res://*/CiaFilmes.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\v11.0;initial catalog=CiaFilmes;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" /> </connectionStrings> </configuration>
|
Temos assim tudo pronto para trabalharmos diretamente com as entidades e não precisaremos nos preocupar mais com tabelas, comandos SQL ou objetos ADO .NET.
O Entity framework gerou todo modelo e realizou o mapeamento objeto relacional. Tudo isso sem termos que digitar nenhuma linha de código.
Agora já podemos usar o Entity Data Model gerado para realizar o acesso a persistência dos dados em nossa aplicação.
O arquivo com extensão .edmx gerado contém os 3 arquivos XML EDM mesclados de forma que toda modificação feita no descritor atualizará os arquivos.
Na próxima aula vamos criar o formulário de login.
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Entity Framework - Conceitos Básicos - Uma visão ... - Macoratti.net
C# - CRUD básico com Entity Framework para ... - Macoratti.net
ADO .NET Entity Framework - Usando LINQ to Entties - Macoratti.net