Páginas

segunda-feira, 3 de setembro de 2012

LINQ e Entity Framework na sua aplicação


Language Integrated Query (LINQ) é a solução para fazer consultas em cima de coleções de objetos com uma sintaxe amigável aos desenvolvedores. A intenção é dar um gás na produtividade.

Podemos usar LINQ através dos frameworks voltados para ORM (Object-relational mapping). Ex: NHibernate (muito chato de configurar), Entity Framework, etc. Esses frameworks se preocupam com a conexão com os Bancos de Dados e as particularidades de SQL para cada um deles.

Nesse e nos posts seguintes vamos estudar o LINQ utilizando com Entity Framewrok
Se liga na facilidade:

Passos para a configuração do Entity Framework:

Após um banco de dados já modelado e normalizado bonitinho (nesse estudo utilizaremos o NorthWind, baixe o menino em arquivo MDF e aguarde as instruções)... Crie um novo projeto no Visual Studio:



Adicione um arquivo .EDMX  e dê o nome de NorthWind


Selecione a opção “Generate from database”


Dê um nome para as entidades que serão formadas a partir do modelo de dados:

Nesse passo como o banco de dados Northwind está sendo utilizado em formato de arquivo, esse será copiado para a pasta App_dados do projeto.






Marque as opções do que será trabalhado (no nosso caso... tudo!)


Em seguida o Visual Studio exibirá o arquivo com todas as tabelas

Pronto! O Entity está configuradíssimo! J é só usar!

Vamos a um pequeno teste:

Insira um GridView na sua página Default mesmo:

<asp:GridView ID="gdvProdutos" runat="server">
</asp:GridView>

No método PageLoad do Code-Behind insira o seguinte:

protected void Page_Load(object sender, EventArgs e)
        {
            NORTHWNDEntities dc = new NORTHWNDEntities();

            gdvProdutos.DataSource = from p in dc.Products select p;
            gdvProdutos.DataBind();
        }

      Rode o programa e pronto! Você terá a lista de produtos sem dor de cabeça de programar queries SQL ou configurar o NHibernate ! J


Essa foi apenas a configuração! No próximo post veremos consultas bem mais elaboradas! Até lá!

Um comentário: