Data Annotations - Artigo WebMobile Magazine 30
Vamos desenvolver um aplicativo Silverlight, acessando um banco de dados SQL Server através do Entity Framework (EF) e vamos apresentar e utilizar o recurso chamado Data Annotations. Vamos entender como ajustar os metadados gerados pelo EF de acordo com nossa necessidade.
Vamos desenvolver um aplicativo Silverlight, acessando um banco de dados SQL Server através do Entity Framework (EF) e vamos apresentar e utilizar o recurso chamado Data Annotations. Vamos entender como ajustar os metadados gerados pelo EF de acordo com nossa necessidade.
Para que serve
Através do uso de Data Annotations é possível mudar a apresentação de um objeto de domínio do EF, na camada de interface. Existem vários atributos que podem ser aplicados.
Em que situação o tema é útil
Em aplicações Silverlight onde temos uma separação real do que é interface e o que é camada de acesso a dados, é possível ajustar esses dados sem necessariamente alterar a camada de apresentação.
Resumo do DevMan
Separar as camadas de um sistema é o objetivo de todo bom desenvolvedor. Nesse artigo veremos como o Silverlight trata essa separação e quais recursos nós temos disponíveis para manter as camadas desacopladas, umas da outras. No caso, faremos uso de Data Annotation, que são atributos contidos no namespace System.ComponentModel.DataAnnotations e podem ser utilizados para controlar a exibição dos dados.
O Silverlight desde o seu lançamento vem com a idéia de que a interface do usuário tem que ser desconectada do resto da aplicação, separando assim o trabalho de design da tela do restante da aplicação. Quem trabalha com desenvolvimento em camadas também costuma trabalhar desta forma, mas às vezes ocorre algum desvio e o programador acaba colocando alguma lógica na camada de interface, geralmente para validação.
O namespace System.ComponentModel.DataAnnotations provê atributos de classes e métodos para definir metadados que são utilizados em controles de dados para ASP.NET e Silverlight. Utilizaremos esses atributos para definir quais serão os dados que irão aparecer na tela para o usuário e algumas validações.
Neste projeto iremos utilizar o Visual Studio 2008 SP1, .NET Framework 3.5 SP1, Silverlight 3, Silverlight Toolkit de novembro de 2009, RIA Service, SQL Server 2005 e ADO.NET Entity Framework, mas caso você não tenha as versões completas poderá utilizar as versões Express destas ferramentas.
Data Annotations
Antes de qualquer coisa, vamos a uma introdução ao conceito Data Annotations. No Service Pack 1 do .NET Framework 3.5, lançado no final de 2008, a Microsoft introduziu um novo assembly (DLL) chamado System.ComponentModel.DataAnnotations. Essa nova DLL, inicialmente veio como parte do projeto ASP.NET Dynamic Data.
O propósito desta nova DLL é permitir que você defina no seu modelo de dados, determinados comportamentos que naturalmente são feitos na camada de interface. E isso é feito sem que o seu modelo de dados tenha conhecimento de como a camada de interface será implementada. È o que chamamos de implementação UI-agnóstic.
Esses comportamentos são declarados na forma de “anotações”, daí vem o nome Data Annotations. A forma de se fazer isso é através de atributos semânticos, inclusos nas propriedades das classes do nosso modelo, como [Required] para determinar que uma propriedade é obrigatório, ou [Range] para determinar os tamanhos mínimos e máximos que um campo texto deve ter.
O ASP.NET Dynamic Data interpreta esses atributos quando vai gerar automaticamente as interfaces de consulta, inclusão, alteração e exclusão das entidades do seu modelo. Assim, com essas anotações, ele pode determinar os controles de validação que deverá utilizar para cada propriedade.
A idéia de se criar uma forma de definir comportamento de interface no modelo, independente de como a interface será implementada, é muito boa, e obviamente rompe as barreiras do ASP.NET.
Durante a fase de desenvolvimento do .NET Framework 4.0, a equipe responsável pelo projeto .NET RIA Services já havia anunciado que iria oferecer suporte ao DataAnnotations, feito inicialmente para o ASP.NET Dynamic Support.
Isso significa que os modelos onde você aplicou anotações com o DataAnnotations, podem ser reaproveitados em aplicações ASP.NET Web Forms, com o Dynamic Data, e agora também em aplicações Silverlight, com o uso do RIA Services. " [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo