Campo.cs

<< Click to Display Table of Contents >>

Navigation:  Persistencia > Persistencia > classes >

Campo.cs

Previous pageReturn to chapter overviewNext page

 

using System;

namespace Persistencia.classes

{

    /*    

     * [Tabela("tb_usuario")]

     * public class Usuario

     * {

     *     [Campo("id_usuario", IsKey = true, AutoInc=true)]

     *     public int Id { get; set; }

     * 

     *     [Campo("nome", Required = true)]

     *     public string Nome { get; set; }

     * }

     * 

     * -------------------------- 

     * Usuario u = new Usuario() { Id = 1, Nome = "Maria" }       

     */

 

    // classe "Campo" é utilizada para conter todas as informações necessárias dos campos e valores - estas informações

    // são capturadas de um objeto Model usando suas propriedades e valores

    // estas informações ficam neste objeto, com o nome do campo (lido através de attributes / anotations)

    public class Campo

    {

        // nome do campo na tabela física obtido via attributes - no exemplo acima pode ser o campo 'id_usuario'

        public string Nome { getset; }  

 

        // se é campo chave obtido via attribute do model - no exemplo acima seria true 

        public bool IsKey { getset; } 

 

        // conteúdo a ser gravado no banco de dados é object porque pode ser int, string, date, etc

        // ele é obtido diretamente do model - no exempo acima seria "1"

        public object Valor { getset; }

    

        // se é campo obrigatório

        public bool Required { getset; }

 

        // se é campo chave estrangeira

        public bool IsFK { getset; }

        

        // tipo primitivo do campo (DateTime, string, int, etc) - não usado diretamente, 

        // mas preenchido automaticamente na classe "Montador" para auxiliar rotinas internas

        public Type Tipo { getset; }

    }

}