The fact is, there are code generators and relational object mappings (ORMs) and code generators that perform relational object mappings.
Something like NHibernate is pure (ORM) and does not generate any code, it just provides you with a level of object storage.
Llblgen is a code generator that generates code that performs the functions of ORM, but you can really see the code and can override it with custom behavior. Llblgen will not generate your user interface for you, and it is not intended. He focuses heavily on data access.
Then you have tools like CodeSmith or the T4 built-in generator that comes with a visual studio that you can use to create templates, and then they will generate whatever you want, provided that you write your own templates. I worked for companies that have invested thousands in their own templates.
Finally, there are complete tools like CodeOnTime or IronSpeed ββthat generate entire applications for you. This sounds good in theory and is great for small applications like CRUD, but you lose a lot of flexibility when using such tools, because they often have the agreements that you need to work with, and as soon as you start to get heavy tuning, they usually get on your way.
You should ask yourself:
- Do I need something to access my data? if so you can use ORM
- Do I need to create a custom user interface? if so, you should probably avoid tools like CodeOnTime and IronSpeed
source share