 .NET 2008 - 
Gerando código com MyGeneration
.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
  
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 : 
 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