Вы находитесь на странице: 1из 8

No foi por acaso que a primeira ferramenta ORM da lista o Entity Framework da Microsoft pois vamos us-lo neste

e artigo para criar um projeto de cadastro de clientes com uma camada de acesso a dados para mostrar o quanto simples usar os recursos dessa ferramenta ORM. Eu vou usar somente ferramentas gratuitas no projeto como:

Visual C# 2010 Express Edition; Banco de dados SQL Server 2008 Express Edition; Entity Framework 4.0;

Embora eu j tenho escrito muitos artigos sobre o Entity Framework (veja a seo no site) neste artigo eu volto a mostrar como podemos usar o Entity Framework em uma camada de acesso a dados separada da camada de apresentao. Com a adoo das boas prticas no desenvolvimento de software ganhamos tempo e dinheiro e nesta aplicao eu mostro como fcil criar uma camada de acesso a dados usando o Entity Framework. Nosso objetivo manter um cadastro de clientes onde temos uma tabela chamada Clientes no banco de dados SQL Server chamado Cadastro.mdf; Na figura abaixo vemos o Banco de dados Cadastro.mdf e a tabela Clientes com os campos : id, nome, endereco, cep, cidade, celular, telefone, email, contato e obs; Podemos ver tambm o formulrio de cadastro da aplicao onde temos basicamente os controles TextBox , Buttons e um DataGridView;

Criando a soluo e os dois projetos

Vamos criar a soluo no Visual C# 2010 Express Edition para isso abra a ferramenta e no menu File-> New Project selecione o template Windows Forms Application e informe o nome EF4_Crud_DAL e clique OK; A seguir menu File -> Add -> New Project selecione o template Class Library, informe o nome DAL e clique no boto OK; Aps isso clique com o boto direito sobre o nome do projeto EF4_Crud_DAL (no na soluo) e altere o seu nome para UI (User Interface) pois este projeto conter a nossa camada de interface; A estrutura da soluo contendo os dois projetos pode ser vista na figura abaixo:

Vamos incluir um Entity Data Model no projeto DAL, para isso clique com o boto direito do mouse sobre este projeto e selecione Add New Item;
O Entity Data Model (EDM) ou modelo de entidades de dados pode ser considerado o corao da Entity Framework. O EDM um modelo entidades - relacionamentos onde: Entidades - so instncias de tipos de entidades como Clientes, Produtos os quais esto estruturados em registros e chaves; Relacionamentos - so instncias de tipos de relacionamentos que so associaes entre dois ou mais tipos de entidades;

a partir do modelo de entidades que podemos escrever cdigo usando as diferentes APIs, como o provedor EntityClient ou o Object Services com LINQ to Entities

Na janela Add New Item selecione o template ADO .NET Entity Data Model, informe o nome Clientes.edmx e clique no boto Add;

Na prxima janela selecione a opo Generate from database, pois vamos gerar o modelo de entidades a partir de um banco de dados existente, e clique em Next>; Na janela Entity Data Model do assistente verifique se a conexo com o banco Cadastro.mdf esta selecionada (se no existir voc dever criar clicando no boto New Connection); Aceite os nomes que foram sugeridos pelo assistente, dessa forma o nome CadastroEntities ser o nome do seu container do modelo de entidades e o arquivo de configurao App.Config ter a entity connection que ser usada para realizar a conexo com o banco de dados;

Se o assistente mostrar uma janela perguntando se voc quer copiar o arquivo para o seu projeto e salvar a conexo clique no boto No; Em seguida selecione a tabela para qual deseja gerar o mapeamento. No exemplo eu estou usando apenas a tabela Clientes; Para encerrar Clique em Finish;

Encerrando essa etapa veremos na janela Solution o arquivo Clientes.edmx e no descritor a entidade Cliente mapeada pelo EDM;

O Entity Data Model um conceito e o Entity Framework possui uma implementao particular deste modelo que percebida como um arquivo EDMX em tempo de desenvolvimento. Em tempo de execuo o arquivo EDMX tratado em trs arquivos XML separados cada um com um papel definido:

.CSDL(Conceptual Schema Definition Language) - (camada conceitual) responsvel pelo modelo conceitual; .MLS (Mapping Specification Language) - (camada de mapeamento) responsvel pelo mapeamento; .SSDL(Store Schema Definition Language) - (camada de armazenamento) responsvel pela persistncia;

Abaixo temos uma figura que mostra cada um destes arquivos que representam o arquivo .edmx:

Dessa forma com o Entity Data Model criado temos todo o cdigo que necessitamos (o que tambm no necessitamos) gerado e estamos prontos para poder definir os nossos mtodos para acesso a dados com base no EDM. Obs: A partir do Entity Framework 4.0 podemos usar classes POCO e no depender mais exclusivamente do EDM. Veja a segunda parte em : C# - Cadastro de Clientes com Entity Framework em Camadas - II

Referncias:

Вам также может понравиться