Althmann Márcio Fábio - Desenvolvimento web com ASP.NET MVC стр 16.

Шрифт
Фон

como code first (código primeiro, em português). Para que esta ideia torne-se mais 47

4.3. O Entity Framework

Casa do Código

clara, vamos à prática. Criaremos um projeto paralelo, em nada relacionado ao Cadêmeu médico. Faremos desta forma porque para Cadê meu médico utilizaremos outra estratégia.

Com Visual Studio já em execução, crie um novo projeto ASP.NET MVC 4 (se-

guindo os passos já apresentados nos capítulos anteriores a este). Sugestivamente nomearemos esta aplicação de exemplo como AplicacaoComCodeFirst. Vale observar que você precisará estar com Microsoft SQL Server 2012 Express instalado para completar este exercício. O projeto que estamos utilizando para exemplificar o funcionamento do code first é do tipo internet application. Ele utiliza view engine Razor e não utiliza projeto de testes. A solution explorer deste projeto pode ser visualizada pela figura 4.2.

Figura 4.2: Solution explorer do projeto AplicacaoComCodeFirst

Por se tratar de um projeto do tipo internet application, quando executada, a

aplicação tratá um template padrão (semelhante àquele apresentado no capítulo 1).

48

Casa do Código

Capítulo 4. Models: Desenhando os modelos da nossa aplicação

Você conhece o SQL Server 2012?

O Microsoft SQL Server 2012 é a versão mais atual da plataforma de

dados relacionais da Microsoft. Através dela, é possível gerenciar qual-

quer ocorrência relacionada aos bancos de dados relacionais, incluindo

ferramentas para mineração e extração de dados não convencionais, bu-

siness intelligence [1], interface gráfica para administração (SQL Mana-

gement Studio), entre diversos outros recursos.

A versão Express do SQL Server 2012 é disponibilizada gratuitamente

e suporta bancos de dados com capacidade de até 10 GB. Para saber mais,

você pode seguir o link:

http://bit.ly/mvc-sqlexpress

Um bom exemplo para que possamos entender de forma clara e prática o funci-

onamento do mecanismo de code first com Entity Framework dentro

da plataforma

.NET em projetos ASP.NET MVC é uma fração das funcionalidades de blog, ou seja, posts e suas respectivas categorias. Desta forma, imaginando a estrutura mais simples possível para este tipo de funcionalidade, poderemos ter a seguinte relação: uma categoria pode possuir múltiplos posts enquanto um post pode estar atrelado a apenas uma categoria.

Além da cardinalidade 1 para n configurada pela relação apresentada no pará-

grafo anterior, temos notoriamente visíveis duas entidades: Categorias e Posts.

Muito embora esta seja uma relação simples, ela nos possibilitará apresentar alguns importantes recursos do framework MVC, além é claro, de apresentar o code first em ação.

Criando as classes POCO

Quando falamos em code first, automaticamente falamos em classes POCO. Isso

porque não é possível dissociar uma coisa da outra.

POCO é o acrônimo para Plain Old CLR Object. O termo é uma derivação do

termo POJO (Plain Old Java Object), originalmente utilizado pela comunidade Java, como você pode imaginar. A ideia deste tipo especial de classe é ser um agente independente de frameworks e/ou componentes dentro da plataforma .NET. Assim,

classes podem herdar seus comportamentos, interfaces podem ser implementadas e ainda, atributos podem ser persistidos.

49

4.3. O Entity Framework

Casa do Código

Tendo em mente a importância das classes POCO principalmente para o con-

texto de ORMs (claro, especialmente para o EF), iniciaremos nossas atividades criando nossas duas classes POCO principais: Categorias e Posts. No momento

posterior, elas servirão de base para que o EF implemente as entidades no banco de dados da aplicação.

Desta forma, a primeira ação neste sentido será criar a classe Categorias. Para isso, basta adicionar uma nova classe à pasta Model da aplicação e nomeá-la com a palavra Categorias, conforme ilustra a figura 4.3.

Figura 4.3: Adicionando uma classe ao diretório Model

Uma classe com estrutura básica será automaticamente gerada pelo Visual

Studio. Substitua este conteúdo por aquele apresentado pela listagem 4.

Listagem 4.4 - Classe POCO para Categorias:

public class Categorias

{

[Key]

public int CategoriaID { get; set; }

50

Casa do Código

Capítulo 4. Models: Desenhando os modelos da nossa aplicação

public string Categoria { get; set; }

public string Descricao { get; set; }

public virtual ICollection<Posts> Posts { get; set; }

}

Como você pode perceber, a estrutura da classe é bem simples e dispensaria co-

mentários para um desenvolvedor com certa experiência no trato com ORMs. En-

tretanto, é possível que as observações a seguir sejam úteis para você que não se enquadra na situação apresentada há pouco.

Atributo [Key]: indica ao Entity Framework que a propriedade imediata-

mente na sequência (no caso, CategoriaID) deverá ser considerada chave

primária no momento da geração do banco de dados no servidor de destino.

É possível parametrizar este atributo conforme a necessidade para emplacar

comportamentos específicos (como a adição ou não da cláusula identity).

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке