.NET - As novidades de 2009 (ADO .NET Entity Framework)
Ano novo, vida nova e as novidades não param...
- Nova versão do VS 2010 e NET Framework 4.0
Prepare-se para o Visual Studio 2010 (Codenome: Rosário) e o .NET 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 esta focada em 5 áreas :
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 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, 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 :
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;
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 selecionas 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 e 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 esta 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 em 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.ModeloEFNo 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:
José Carlos Macoratti