Seja bem vindo a mais esse artigo, e boa leitura.Hoje quero passar para voce, que o ORMBr agora conta com a 1a versao da camada de gerenciamento de banco de dados, apos grande esforco e trabalho implementei o recurso para os bancos SQLite e SQLServer, logo logo saira para Firebird e MySQL, essa versao que ja esta disponivel no repositorio voce pode baixar pelo link www.ormbr.com.br menu Download. Nessa novidade temos a criacao completa de tabela, PrimaryKey, ForeignKeys, Indexes e Checks, e ainda a adicao de novos campos caso adicionados no modelo, e nao exista no banco. Tem bastante recurso a ser feito, mas um passo a cada dia chegaremos ao nosso destino desejado, que e o gerenciamento total ao banco, pretendo ir ate onde for possivel, ir alem de alguns ORMs do mercado como gerenciamento de Views, Triggers (esses ja bem avancados) e quem sabe ate Store de Procedures, mesmo que cada banco tendo sua sintaxe especifica, trabalho dara, mas acredito que e possivel sim, por que nao? Tenho uma frase que marcou muito minha vida de Albert Einstein "A mente que se abre a uma nova ideia jamais voltara ao seu tamanho original", entao quero que voce pense nessa frase, e abra sua mente para entender os beneficios que o ORMBr pode trazer para sua vida, no que diz respeito a desenvolvimento, agilizando, dando confiabilidade e economizando em algumas dezenas e quem sabe centenas de linhas.O ORMBr e puro delphi, voce nao deve ter medo usa-lo, no inicio por seguir padroes de projetos, ele pode parecer complexo, mas acreditem, nao e, e um ditado cabe bem nessa afirmacao, "quem ve cara nao ve coracao", o ORMBr tem seu codigo extremamente simples, ele usa Dataset nativo do Delphi, ele faz o mesmo que voce faz no seu codigo ja existente do seu dia ia, mas de forma extremamente mais simples, e economico, pois esse mesmo codigo servira para todo o seu projeto, o que e preciso, e de dedicacao para testa-lo, debuga-lo e entender seu funcionamento, e dai tera a confianca do que estou falando. Abaixo um exemplo de um modelo bem completo, que servira como base para o ORMBr para gerenciamento do banco de dados, nele teremos a criacao de uma tabela completa com todos os atributos das colunas, uma PrimaryKey, um Indexe, um Check, esse mesmo modelo ainda servira para definicao dos TFields criados no Dataset usado, isso tudo feito automaticamente para ORMBr, de forma simples e eficaz, veja abaixo:unit ormbr.model.person;interfaceuses Classes, DB, /// orm ormbr.mapping.attributes, ormbr.types.mapping, ormbr.mapping.register;type [Entity] [Table('Person','Tabela de pessoas')] [PrimaryKey('Id', NoSort, False, 'Chave primaria')] [Indexe('IDX_FirstName','FirstNome', NoSort, True, 'Indexe por nome')] [Check('CHK_Age', 'Age >= 0')] TPerson = class private { Private declarations } FId: Integer; FFirstNome: string; FLastNome: string; FAge: Integer; FSalary: Double; public { Public declarations } [Restrictions([NoUpdate, NotNull])] [Column('Id', ftInteger)] [Dictionary('Codigo ID','Mensagem de validacao','0','','',taCenter)] property Id: Integer Index 0 read FId write FId; [Restrictions([NotNull])] [Column('FirstNome', ftString, 40)] [Dictionary('Primeiro nome','Mensagem de validacao','','','',taLeftJustify)] property FirstNome: String Index 1 read FFirstNome write FFirstNome; [Column('LastNome', ftString, 30)] [Dictionary('Ultimo nome','Mensagem de validacao','','','',taLeftJustify)] property LastNome: String Index 2 read FLastNome write