O objetivo deste post é apresentar o funcionamento do Entity Framework Code-First CTP 5. Este conjunto de bibliotecas ainda não está disponível na instalação do Visual Studio 2010, nem na instalação do Microsoft .Net Framework 4, pois ainda está em fase de testes e melhorias, por isso que ainda é um CTP (Community Technology Previews). O EF Code-First, apesar de ser um CTP, já está na versão 5, e apresenta muitas facilidades que auxiliam os desenvolvedores de software.
Nas próximas linhas apresentarei um exemplo de como trabalhar com o EF Code-First. Neste exemplo utilizo o conceito POCO (Plain Old CLR Objects), já discutido em um post anterior. Faremos a persistência dos dados de algumas entidades no banco de dados, e o EF Code-First ficará encarregado de fazer o mapeamento objeto-relacional para nossa aplicação.
Para utilizar o Entity Framework Code-First CTP 5 faça o download do mesmo neste link e siga os seguintes passos:
1 – Crie as tabelas no banco de dados Microsoft SQL Server, conforme o script abaixo:

2 – No Visual Studio 2010, crie uma solution em branco. Para este exemplo criei uma solution com o nome “SolutionEF_CTP5”.
3 – Adicione um projeto Class Library a solution. Para este projeto utilizei o nome “EFCTP5.Data”.
4 – Crie as classes Cliente, Endereco, Solicitacao conforme o código abaixo:



5 – Após a adição destas classes, faça referências as DLLs:
- System.Data.Entity
- EntityFramework
(geralmente localizada em C:\Program Files (x86)\Microsoft ADO.NET Entity Framework Feature CTP5\Binaries\)
- System.Configuration
6 – Criar a classe de contexto, que irá administrar as requisições com a base de dados. Faça esta classe herdar de DbContext (System.Data.Entity). Adicione propriedades para representação das tabelas utilizando o tipo de dados DbSet – este tipo de dados é próprio para representação de coleções e entidades que podem servir para construção de queries. Sobrescreva o método “OnModelCreating”, com o objetivo de evitar a convenção de que o nome das tabelas devem estar no plural (pluralizados). Adicione um bloco de código no construtor desta classe para que a string de conexão seja preenchida sempre que o contexto de banco de dados for instanciado.

8 – Criei um projeto console para testar a aplicação e adicione referência ao projeto criado anteriormente e a DLL do Entity Framework Code First CTP 5.

9 – Adicione um arquivo “App.Config” ao projeto e insira o seguinte bloco de configuração atribuindo uma string de conexão para o seu banco de dados:

10 – Adicione o código abaixo, na aplicação console, para testar a inclusão de novos registros.

11 – Adicione o código abaixo, na aplicação console, para a consulta de registros cadastrados na base de dados.

[]s! e até o próximo…