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

Шрифт
Фон

Database first: vantagens e desvantagens

É claro que existem muitos novos projetos de software. A todo instante nos de-

paramos com eles. Entretanto, existem projetos que precisam passar por complexos processos de migração, por exemplo, e, para este tipo de cenário, database first se enquadra perfeitamente. Assim, ao optar por modelo de trabalho, os desenvolvedores poderão usufruir dos seguintes benefícios:

Isolamento completo das atividades: se o sistema já possui um banco de dados criado e/ou mantido por DBAs, utilizar o modelo database first permitirá

separar ainda mais as responsabilidades do projeto, uma vez que a atualização

do modelo baseado nas alterações realizadas diretamente no banco de dados

funcionam muito bem;

Reduz drasticamente o tempo de mapeamento de bancos pré-existentes:

database first reduz de forma drástica o tempo dispensado ao mapeamento de

bancos de dados preexistentes;

70

Casa do Código

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

Personalização de classes POCO:

muito embora as classes POCO sejam geradas de forma automática pelo Entity Framework, é possível personalizá-las

através de classes parciais ou até mesmo através do template de classes dispo-

nibilizado pelo EF;

Possibilidade de múltiplos modelos no mesmo projeto: sim, é possível possuir diferentes mapeamentos, de diferentes bancos de dados, na mesma apli-

cação.

O principal problema relacionado ao modelo disponibilizado por database first

reside na concentração de tudo dentro de um único arquivo (o edmx). Conforme o banco de dados de origem cresce em tamanho e complexidade, o arquivo também o

faz, o que dificulta a manutenção. Em função disso, na grande maioria das vezes, é preciso que as máquinas que manipulam estes arquivos possuam boas configurações de memória.

Dica: De forma geral, o modelo database first tende a ser melhor aplicável em situações em que existem aplicações com seus bancos de dados já em funcionamento (migração, reengenharia etc.), mas, diferentemente do modelo code first que pode ser aplicado na maioria esmagadora das vezes apenas em novas aplicações, se você deseja possuir controle total das ocorrências no banco de dados, database first pode ser aplicável também para novos projetos. Assim, no final das contas, este modelo acaba se tornando mais flexível.

4.7

Adicionando atributos de validação nos mode-

los

A

framework

.NET

disponibiliza

através

do

namespace

Sys-

tem.ComponentModel.DataAnnotations vários atributos de validação que podem

ser em modelos de classes do Entity Framework e Linq To SQL.

Adicionando esses atributos de validação nos models (modelos) da nossa aplica-

ção, o MVC fará essa validação de forma transparente, sem necessidade de codifica-

ção adicional por parte do programador para a validação básicas sobre o model.

Anteriormente, utilizamos o modelo database first para gerar os models da nossa aplicação, ou seja, os models são automaticamente gerados, baseado na estrutura do banco de dados . Uma boa prática é não colocar os atributos de validação diretamente nas classes geradas automaticamente pelo Visual Studio. Isso porque sempre que o modelo do Entity Framework for atualizado com base no banco de dados,

71

4.7. Adicionando atributos de validação nos modelos

Casa do Código

as classes serão recriadas, e com isso qualquer modificação feita anteriormente será perdida.

Seguindo essa boa prática, não iremos adicionar diretamente na classe gerada

pelo Visual Studio os atributos de validação. Criaremos uma classe de metadados contendo as validações e, utilizando o recurso Partial Class ou Classes Parciais, vamos vincular a classe de metadado com a classe criada automaticamente.

Classes Parciais

Dentre vários recursos disponibilizados pela plataforma .NET, encon-

tramos as Partial Class ou Classes Parciais. Graças às classes parciais po-

demos dividir a definição de uma classe em vários arquivos físicos. A

keyword partial deverá ser utilizada na definição da classe para di-

zer que a classe é parcial.

Todas as classes geradas automaticamente utilizando Entity Fra-

mework recebem a keyword partial na sua definição. Devido a esse re-

curso conseguimos estender essas classes sem alterar o arquivo físico que

é passível de modificação pelo Entity Framework.

Para criar as validações referentes ao model Médico, clique com o botão di-

reito do mouse na pasta Models da Solution Explorer e clique em Add. Na ja-

nela que será apresentada selecione o tipo Class, e defina o nome da classe igual a MedicoMetadado. A figura 4.15 representa esse processo.

72

Casa do Código

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

Figura 4.15: Adicionando a classe de metadado para o model Medico

Após a criação, o arquivo será aberto automaticamente pelo Visual Studio. A

listagem 10 representa o código que deverá ser adicionado na classe MedicoMetadado.cs.

Repare que o arquivo MedicoMetadado.cs possui a definição das classes

MedicoMetadado e a classe parcial Medico.

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

0
Шрифт
Фон

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