Proposta de Arquitetura – Parte 3 – Entidades

Neste artigo veremos a criação da base de dados e da tabela que será usada na aplicação de Cadastro e a construção da camada de entidades do sistema (CES).

Como trata-se de um sistema muito simples, com o objetivo de apresentar uma proposta de desenvolvimento em camadas, não entraremos em alguns detalhes e complexidades de um grande sistema.

Começaremos pelo planejamento de nossa base de dados. Criaremos um banco no SQL Server chamado HLMI_Cadastro. Vamos manter na nomenclatura a referenciar à autoria de todo o projeto de sistema, começando pelo nome da empresa seguida pelo nome do sistema.

 

 

Após a criação da base de dados, poderemos ver a mesma listada no Object Explorer do SQL Server.

 

 

Agora vamos construir a tabela de cadastro de clientes e a de UFs (Unidades Federativas – Estados). A tabela de clientes terá poucos campos, mas criaremos um relacionamento com a tabela de UFs, para vermos como é o comportamento do Entity Framework na inclusão de alteração de registros mais tarde.

Segue abaixo a imagem que apresenta a criação da tabela de UFs:

 

 

Observe que a coluna Id tem uma chave ao lado esquerdo. Esta chave indica que esta coluna é do tipo Chave Primária, ou melhor dizendo, é uma coluna onde os valores são únicos e que identificam exclusivamente cada registro. Mais abaixo, no campo Is Identity, o valor indica que haverá um incremento no valor desta coluna que será criada automaticamente quando um novo registro é inserido.

A coluna UF receberá o código que representa cada Estado, que são apenas duas letras, e a coluna NomeUF receberá o respectivo nome por extenso.

Agora veremos abaixo a estrutura da tabela Cliente:

 

 

A tabela Cliente tem a coluna Id definida do mesmo modo que a coluna Id da tabela UF. Entretanto, na tabela Cliente, vemos que será criada a coluna UF_id, que estará relacionada com a coluna Id da tabela UF. Veremos abaixo como este relacionamento é construído:

 

Se observarmos na imagem acima, o relacionamento entre Cliente e UF é a associação entre as colunas Cliente.UF_id (Foreign Key Column) e UF.Id (Primary/Unique Key Column).

No Object Explorer do SQL Server, podemos ver as tabelas e suas respectivas estruturas criadas:

 

 

Bem, agora as tabelas já estão criadas e preparadas. Passaremos para a construção da camada de entidades usando o Entity Framework no Visual Studio 2010.

O primeiro passo é selecionar na Solution Explorer o projeto CES:

 

 

Depois, clique com o botão direito e selecione o menu Add New Item. Na tela Add New Item, escolha ADO.NET Entity Data Model, e em Name, digite CadastroModel.edmx.

 

 

Em seguida, o Visual Studio 2010 vai apresentar o Entity Data Model Wizard, onde manteremos a opção Generate from database selecionado. Depois clique em Next.

 

 

Na tela Entity Data Model Wizard, como a nossa conexão ainda não foi configurada, então devemos clicar no botão New Connection.

 

 

Depois de preencher as propriedades da conexão, selecionando o servidor, a autenticação e o nome do banco de dados, voltaremos para a tela Entity Data Model Wizard. Nesta tela, marque a opção Yes, include the sensitive data in the connection string.

 

 

Depois, na tela Choose Your Database Objects, selecione todas as tabelas, e marque as caixas Pluralize or singularize generated object names e Include foreign key columns in the model.

 

 

Depois de concluída esta configuração, podemos ver o diagrama de entidades e o projeto com as novas inclusões listadas na Solution Explorer.

 

 

No próximo artigo, criaremos as classes genéricas que fazem a comunicação entre o banco de dados (através da camada de entidades), e a lógica de negócios. Esta facilidade permite mais agilidade na codificação, e simplifica o acesso às entidades.