Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1027
Assunto : ADO.NET
Titulo: Aplicando Atributos em Campos do Entity Framework

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Os modelos do Entity Framework criam classes automaticamente de acordo com a montagem do modelo.

Um dos problemas que temos com isso é que já que o código é auto-gerado, não conseguimos inserir atributos personalizados nas propriedades.

Atributos personalizados podem ser úteis para as mais diversas finalidades, Dynamic Data é um exemplo de recurso que pode requerer o uso de atributos personalizados em campos da camada de dados.

Para resolver este problema, foi criado o atributo MetaDataType. Este atributo pode ser aplicado em uma classe e irá apontar para uma 2a classe. Ele indica que esta 2a classe possui atributos que devem ser considerados como atributos adicionais da primeira.

Para que isso serve ?

Simples : Todas as classes no entity framework são criadas como partial class. Então podemos criar uma outra metade para qualquer das classes do entity framework e aplicar atributos a nível de classe, tal como o próprio MetaDataType.

Porém não podemos aplicar atributos aos campos, pois estes já estão codificados na parte auto-gerada da classe. Por isso a solução é aplicar o MetaDataType apontando para uma 3a classe (ou 2a, como prefeririem, já que utilizamos o partial).

Nesta 3a classe, criamos campos dummy, sem função alguma, mas aplicamos neles os atributos que desejamos. O atributo MetaDataType faz com que os atributos aplicados na 3a classe passem a valer para a classe do Entity Framework.

Veja um exemplo :

Namespace BancoVideosModel

<MetadataType(GetType(Formato_MD))> _
Class Formato

End Class

Class Formato_MD
<ScaffoldColumn(False)> _
Public Property idFormato() As Integer
Get

End Get
Set(ByVal value As Integer)

End Set
End Property
End Class
End Namespace

Neste exemplo o campo idFormato da classe Formato passa a ter o atributo ScaffoldColumn devido ao uso do MetadataType na classe formato, que é partial class, sendo que o verdadeiro atributo formato encontra-se na metade auto-gerada da classe.



Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 10/14/2016 7:13:00 PM
nome: WIKeOMCKDoDAsWRrabe
email: jimos4581rzt@hotmail.com
comentário:
uLTO6E http://www.FyLitCl7Pf7kjQdDUOLQOuaxTXbj5iNG.com

data: 10/14/2016 6:38:00 PM
nome: nChMkTaIpeAYJa
email: jimos4581rzt@hotmail.com
comentário:
wp0Sor http://www.FyLitCl7Pf7kjQdDUOLQOuaxTXbj5iNG.com

data: 8/9/2016 4:40:00 PM
nome: KxAmaRVsTCrRZYnIqM
email: jimos4581rt@hotmail.com
comentário:
85z6mZ http://www.FyLitCl7Pf7kjQdDUOLQOuaxTXbj5iNG.com

data: 7/1/2015 2:13:00 PM
nome: 1
email: a@hmai.com
comentário:
sa12312(*#U(*!@Y*(Y!(!@!O!JÇS>

data: 7/1/2015 2:13:00 PM
nome: a
email: a@a.com
comentário:
asd

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br