.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 :
- 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;
- 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:
ADO .NET Entity Framework – Usando LINQ to Entties
ASP .NET – Usando Dynamic Data com LINQ to SQL
VB .NET – LINQ to SQL – Criando entidades








José Carlos Macoratti




