Dev & EngARTIGO

.NET – As novidades de 2009 (ADO .NET Entity Framework)

Nova versão do VS 2010 e NET Framework 4.0

Prepare-se para o Visual Studio 2010 (Codenome: Rosário) e o .NET↳.NET113 conteúdosNovidades do .NET 9 – o tipo genérico OrderedDictionaryDev (Back & Front) · dez 2024Novidades .NET 10: novas formas de uso do .NET CLIDev (Back & Front) · dez 2025Novidades do .NET 5: implementando um proxy reverso com YARP + ASP.NET 5Dev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) → Framework 4.0, eles já estão em desenvolvimento, conforme anúncio da Microsoft feito em setembro de 2008. Confira em: http://www.microsoft.com/presspass/press/2008/sep08/09-29VS10PR.mspx

Segundo o texto, a nova versão está focada em 5 áreas :

  • Condução da nova geração da plataforma;
  • Estimular a criatividade do desenvolvedor;
  • Habilitar tendências emergentes;
  • Avançar e permitir o progresso de aplicações departamentais;
  • Democratizar o gerenciamento do ciclo de vida da aplicação (Application Life-Cycle Management – ALM)

Como ainda é muito cedo para fazer considerações vamos aguardar…

Novo controle Microsoft Chart Control

A Microsoft disponibilizou um novo controle gratuito para a criação de gráficos: o Microsoft Chart Control.

Este novo controle está disponível para aplicações Windows Forms e Web (ASP.NET) na plataforma .Net Framework 3.5.

Possui diversas novas funcionalidades e estão disponíveis mais de 200 exemplos para ASP.NET e Windows Forms. Em breve pretendo publicar um artigo mostrando como usar o componente.

Veja aqui :

Microsoft Chart Controls (Microsoft .NET Framework 3.5)

Microsoft Chart Controls Add-on para Microsoft Visual Studio 2008

Microsoft Chart Controls – Exemplos

Microsoft Chart Controls – Documentação

Microsoft Chart Controls – Forum Oficial

Livro grátis sobre SQL Server 2008

A Microsoft Press disponibilizou gratuitamente (após registro) o livro em formato PDF “Introducing Microsoft SQL↳SQL64 conteúdosSQL Server – Como evitar SQL Injection?Data · mai 2019Azure SQL DB Managed InstanceData · abr 2019SQL Server – Como evitar SQL Injection? Pare de utilizar Query Dinâmica como EXEC(@Query)Data · abr 2019Ver tudo em Data → Server 2008“.

O livro está disponível no seguinte endereço: http://csna01.libredigital.com/?urss1q2we6

E durante este ano de 2009 o que deverá estar em destaque?

Vejamos…

SilverLight, MVC, ADO .NET Entity Framework, Mapeamento Objeto relacional, ADO .NET Data Services, Cloud Computing↳Cloud30 conteúdosGerenciamento de infraestrutura multicloud com Kubernetes proporciona otimização e economiaDevSecOps · set 2021Vivo assina contrato para aquisição da IPNET e cresce em cloud computingDevSecOps · ago 20245 tendências da computação em nuvem para as empresasDevSecOps · abr 2022Ver tudo em DevSecOps →, WPF, LINQ, Web Services, XML, Testes Unitários, Arquitetura de software, Desenvolvimento em Camadas.

Muitos conceitos relacionados com as siglas citadas acima não são novos, mas começaram a ganhar mais destaque de uns dois anos para cá e estarão na boca dos desenvolvedores.

O jeito é se atualizar para não ficar para trás; durante o ano estarei publicando artigos relacionados com os itens citados.

Abordando o ADO .NET Entity Framework

Para começar vou falar um pouco sobre o ADO .NET Entity Framework pois ele veio sofrendo alterações até o lançamento do service pack 1 (. Aliás você deve atualizar o seu Visual Studio e versões Express com o service pack 1 disponível em: http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en e http://www.microsoft.com/eXPress/download/)

A proposta do Entity Framework é ser uma ferramenta de mapeamento objeto relacional (vide NHibernate – VB .NET – Usando o NHibernate).

Vejamos como ele funciona:

Abra o Visual Studio 2008 (com service pack 1 atualizado) e crie uma nova solução em branco com o nome de DemoEF;

Agora vamos criar um novo projeto do tipo Class Library dentro desta solução usando a linguagem Visual Basic;

Clique com o botão direito do mouse e selecione Add New Project e selecione as opções conforme a figura abaixo informando o nome do projeto como : demoEF.ModeloEF;

A seguir clique sobre o projeto criado com o botão direito do mouse e selecione Add -> New Item;

Na lista Categories selecione o item Data e marque o template : ADO .NET Entity Data Model informando o nome: Northwind.edmx pois vamos usar o banco de dados Northwind.mdf;

Neste momento o assistente vai lhe apresentar a seguinte janela:

Aqui temos duas opções :

  1. Generate from database – O modelo será gerado a partir de um banco de dados existente; cria o modelo de entidades baseado na estrutura do banco de dados;
  2. Empty model – O modelo será criado vazio; neste caso teremos um modelo de entidades vazio baseado nas regras OOP e na sequência será criada a estrutura do banco de dados;

Vamos selecionar a primeira opção e clicar no botão Next>;

Na janela – Choose Your Data Connection – clique em New Connection para escolher uma nova conexão.

A seguir você pode selecionar uma fonte de dados dentre as opções oferecidas; selecione Microsoft SQL Server e clique no botão Continue.

[/img]

Informe o nome do seu Servidor SQL Server e selecione o banco de dados Northwind.mdf da lista de banco de dados apresentada e clique em OK.

Ao final você deverá obter o seguinte resultado:

Clique no botão Next> e será apresentada a janela abaixo onde devemos selecionar as tabelas do banco de dados que serão mapeados no modelo.

Vamos selecionar as tabelas Products e Categories e clique no botão Finish (poderíamos ter escolhido também views ou stored procedures).

Ao término desta ação para criação do modelo será apresentada a janela abaixo:

  • No centro da janela temos o diagrama de classes que representa o modelo de entidades que foi criado a partir das tabelas Products e Categories.
  • Olhando atentamente a entidade Products você vai notar que não temos a propriedade CategoryID que existe na tabela Products.
  • Observe que temos a Navigation Properties Categories que serve como uma referência ao objeto da classe Categories.
  • Na parte inferior temos a janela de mapeamento onde você pode verificar que cada propriedade da entidade selecionada aponta para uma coluna da respectiva tabela do banco de dados.
  • No canto direito superior, a janela Model Browser dá uma visão de todos os itens do modelo; (Observe o modelo Store onde estão os objetos do banco de dados usados no modelo).

Pronto, o mapeamento objeto relacional já foi feito e o modelo já esta criado. Agora veremos como usar este modelo.

Vamos criar um novo projeto na solução usando o template ASP .NET Web Application usando a linguagem Visual Basic com o nome demoEF.WebEF.

No menu File selecione Add -> New Project.

A seguir selecione as opções conforme a figura abaixo:

Após criar o novo projeto, a primeira providência a ser tomada é adicionar uma referência ao projeto demoEF.ModeloEF.

Clique com o botão direito do mouse sobre o projeto demoEF.WebEF e selecione Add Reference.

Em seguida na janela Add Reference clique na aba Projects e selecione o projeto clicando em OK.

Para poder usar os recursos do ADO .NET Entity Framework você precisa incluir a referência a namespace System.Data.Entity.

Clique com o botão direito do mouse sobre o projeto demoEF.WebEF e selecione Add Reference.

Em seguida na janela Add Reference clique na aba .NET e selecione System.Data.Entity e clique em OK.

Agora só falta um ajuste final.

Você precisa configurar a string de conexão do arquivo web.config do projeto demoEF.WebEF que está vazia.

Para isso, copie a string de conexão do modelo no arquivo app.config do projeto demoEF.ModeloEF para o arquivo web.config do projeto demoEF.WebEF.

<connectionStrings>

<add name="NorthwindEntities" connectionString="metadata=res://*/Northwind.csdl|res://*/Northwind.ssdl|res://*/Northwind.msl;provider=System.Data.SqlClient;provider connection string="Data Source=MAC\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />

</connectionStrings>
 

Vamos criar uma interface bem simples usando o WebForm Default.aspx; selecione este arquivo e inclua um componente GridView (ID=gdvEF) e dois componentes Button (ID=btnCategorias e ID=bntProdutos) conforme a figura abaixo:

Defina a seguinte declaração de namespace no arquivo code-behind Default.aspx.vb:

Imports demoEF.ModeloEF

No evento Click do botão Categorias inclua o seguinte código:

No evento Click do botão Produtos insira o seguinte código:

Antes de executar clique com o botão direito do mouse sobre o projeto demoEF.WebEF e selecione a opção Set as Startup Project.

Executando o projeto, ao clicar no botão Categorias veremos todas a categorias sendo exibidas. Para exibir todos os produtos clique no botão Produtos.

Naturalmente você variar o seu código para exibir determinadas categorias e/ou produtos usando LINQ.

Dessa forma acabamos de usar o ADO .NET Entity Framework para efetuar o mapeamento objeto relacional usando as tabelas Products e Categories. Com isso não tivemos que nos preocupar com a definição de comandos SQL nem em como obter os dados através de datareaders, datasets ou datatables.

Pegue o projeto completo aqui: demoEF.zip

Eu sei é apenas .NET, mas eu gosto…

Referências:

Apresentando LINQ to Entities

ADO .NET Entity Framework – Usando LINQ to Entties

ASP .NET – Usando Dynamic Data com LINQ to SQL

Usando ASP .NET MVC Framework

Apresentando LINQ

VB .NET – LINQ to SQL – Criando entidades

Aplicações WPF

.NET – Novidades e atualizações

VB .NET – Usando o NHibernate

é referência em Visual Basic no Brasil e autor dos livros "Aprenda Rápido: ASP" e "ASP, ADO e Banco de Dados na Internet". Mantenedor do site macoratti.net.

Mais de José Carlos Macoratti
Ver perfil →