|
<< Click to Display Table of Contents >> Campo.cs |
![]() ![]()
|
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 { get; set; }
// se é campo chave obtido via attribute do model - no exemplo acima seria true
public bool IsKey { get; set; }
// 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 { get; set; }
// se é campo obrigatório
public bool Required { get; set; }
// se é campo chave estrangeira
public bool IsFK { get; set; }
// 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 { get; set; }
}
}