Aviso aos internautas: esse post é somente sobre programação se você não é programador, veja alguns outros posts interessantes como este.
Como tenho estudado + de 4 horas por dia para as provas de certificações da microsoft 70-515, 70-516, 70-519 , pude aprender muitas coisas nestas duas semanas. Um feature que adorei no novo Entity Framework 4 é a capacidade de gerar POCO (Plain Old CLR Object) classes. Para quem não sabe o que significa POCO, são classes simples, sem atributos de infra-estrutura ou outras responsabilidades, Aquelas classes de entidades que escreviamos antigamente antes de alguns ORM de hoje como EF e Linq to Sql. Pretendemos utilizar este modelo no nosso site: http:www.placetoask.com que hoje usa o excelente mas quase descontinuado “Linq to Sql”, bom vamos lá:
- Abra o vs 2010 e crie um novo projeto Class Library com nome “Data”;

- Adicione ao projeto “Data” um novo item: “Entity Framework Model” com o nome de Northwind(eu usei o northwind mas você pode escolher o database de sua preferencia), escolha “Generate From Database”
- Confirme a copia do DB para o diretório do projeto e escolha Customers, Orders e Products na seleção de Tables.
->
- Como eu esqueci uma tabela que queria inserir, é facil atualizar o EFM, com o botão direito escolha “Update MOdel from Database” e selecione a table “Order Details” que relaciona a Orders com Products:
->
- Agora que seu modelo está como na figura abaixo, podemos adicionar a geração de código POCO no entity framework Model , se ainda não possue o template POCO, baixe pelo online Templates do VS2010, Add item… -> Online Templates -> Ado.Net Poco Entity Generator, se já possue apenas clique com botão direito no designer do EFM e escolha: “add code generation item…” -> “Ado.Net Poco Generator”

- Nesse momento o Code Generation cria dois arquivos: Model1.Context.tt e Model1.tt, nós iremos separar as classes entity que estão dentro do Model1.tt em um novo projeto chamado Entities. Veja o código gerado pelo model1.tt:

- Crie uma nova “Class Library” com nome de “Entities”, segure a Shift key e mova o arquivo Model1.tt para o novo projeto, por movermos o arquivo, vamos precisar fazer uma pequena edição no arquivo para que ele possa gerar o codigo corretamente, então na linha 22 do arquivo Model1.tt mude o código: string inputFile = @”Northwind.edmx”; para string inputFile = @”..\Data\Northwind.edmx”;
- No projeto data clique no arquivo Model1.Context.tt, e em propriedades defina o atributo: customtoolnamespace para Data

- Faça o mesmo para o projeto “Entities” definindo Custom Tool Namespace para “Entities”
- Adicione uma referencia do projeto “Entities” no projeto “Data” e depois coloque uma referencia “using Entities;” no arquivo Model1.Context.cs gerado pelo template automático. Obs. Para visualizar o arquivo você precisa habilitar o “show all files” ;
- Modifique o template Model1.Context.tt na linha 44 adicione o código: using Entities; note que se não fizer isso toda vez que modificar o Modelo tera que colocar essa linha no arquivo Model1.Contex.cs gerado pelo template
- Adicione a solution um novo projeto Console Application para testar o que criamos, a primeira coisa a fazer é copiar o config.application do projeto “Data” para o novo projeto Console , esse passo será necessário para qualquer novo projeto que deseja acessar dados pelo nosso EFM, seja web, windows form etc…
- Digite no program.cs o código e execute :

- O resultado do código quando rodamos:

- Como criar um novo produto? é facil:

- O resultado:

Tá lá! Nossa senhora, não imaginava que fosse tão cansativo salvar e inserir telas para um post, qq dúvida comentem que eu quando puder dou uma ajuda.



![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=138977f8-2157-4ece-9925-e9d5ddf5f53b)