.NET 2008 - Gerando código com MyGeneration


Hoje eu vou falar um pouco sobre o MyGeneration, uma ferramenta para geração de código fonte a partir de templates, com suporte a programação C#, VB .NET JScript e VBScript.

O MyGeneration pode ser usado em arquiteturas OR/M e possui suporte a diversos bancos de dados : SQL Server , Oracle, Access, MySQL , FireBird, etc.

Os templates podem ser vistos como scripts que podem ser definidos a partir de modelos prontos, ou  podem ser criados por você do início, com eles podemos gerar Stored Procedures , XML, HTML, páginas ASP .NET, entidades , DAL, etc

Uma das primeiras etapas que deve ser feita é definir a conexão ao banco de dados para iniciar as operações, visto que o MyGeneration usa as informações de Metadados do banco de dados tornando-as disponíveis aos templates através da API MyMeta.

Faça o download do MyGeneration em : http://www.mygenerationsoftware.com/portal/default.aspx 

Junto com o programa, você instala outros recursos para auxílio durante a programação, como referencias DNP, dOOdads e Zeus (a linha de comando utilizada), um sistema completo com relações de metadados e arquivos de Help completos.

No site acima você pode baixar diversos templates prontos. Apenas para ilustrar veja abaixo detalhes do template : Windows Forms generation.

Após a instalação quando você inicia o MyGeneration pela primeira vez ele mostra a janela das configurações padrão - Default Settings onde na aba Connection você deve definir a string de conexão com o banco de dados para que o MyGeneration seja capaz de executar os templates com base nas tabelas do seu banco de dados.( Note que a ferramenta já exibe todos os banco de dados suportados.)

Você deve definir a linguagem que vai usar podendo ser C# , VB .NET no caso da plataforma .NET, e, na opção DbTarget é onde você define o tipo usado no mapeamento entre o tipo de banco de dados e o driver escolhido.

Após estas definições podemos usar um template pronto ou definir o nosso próprio template. Para usar um template pronto acesse o menu File e clique em Open e você verá a janela a seguir mostrando os diversos templates agrupados por Linguagem/Banco de dados:

A título de exemplo vou usar o template da pasta Microsoft_Access chamado Access StoredProcecures. Este template gera 5 stored procedures (somente para tabelas definidas com chaves primárias)

Após efetuar a seleção do template vemos o MyGeneration exibir a janela abaixo:

O MyGeneration oferece cinco abas para edição de códigos:

1-) “Template Code” oferece o controle dos códigos dos modelos, permitindo a visualização e edição.
2-) “Interface Code” é a opção escolhida para controlar e tornar a interface de usuários mais dinâmica.
3-)  “Template Source” e “Interface Source” apresentam os códigos de programação a serem editados
4-) “Output” mostra a saída da execução dos modelos.


Executando o template será apresentada a janela - Select tables for this Template - contendo a relação das tabelas do banco de dados (no nosso exemplo eu estou usando o banco de dados Microsoft Access Northwind.mdb)

Eu vou selecionar a tabela Clientes pois ela tem uma estrutura bem simples :
  • Codigo
  • Nome
  • Nascimento

onde Codigo é uma chave primária.

Clicando no botão OK vemos a exibição das stored procedures geradas conforme figura abaixo:

Se abrirmos o banco de dados Northwind.mdb e espiarmos as consultas no modo estrutura veremos as stores procedures criadas no banco de dados:

Pessoalmente eu não gosto muito de geradores de código mas conhecimento nunca ocupa espaço e MyGeneration pode ser uma opção interessante, dependendo das suas necessidades. Além disso você não gasta um centavo pois ele é gratuito e, conforme já foi falado, existem centenas de templates prontos e talvez um dele se encaixe exatamente na sua necessidade.

Fique a vontade para explorar os diversos recursos do MyGeneration.

Até o próximo artigo...


José Carlos Macoratti