Generally speaking, I see code generation as part of a complete modeling / coding history. It should be accompanied by a general structure in which most of the plumbing is done. In my opinion, it is not practical to create huge classes, whereas a decent structure with well-defined extension points or hooks would be much better to maintain and expand.
You will need to define some formalized language for user stories, be it XML or the Oslo domain language. Oslo will require experts from your domain to study tools in Oslo. You can use Word + XML. Then you define a beautiful template in Word with built-in XML schema, and after writing the story, you can get it from Word in a formalized XML syntax. This XML can, of course, be used to control generators through XSLT or Linq.
CodeDOM is powerful, but rather cumbersome. This IMHO is not an easy-to-use solution, and it does not have real template support.
I have no experience with T4, but its template functions are pre.
The Oslo product is truly brand new, requires .Net 4.0 runtime. This is still only CTP. This is a very powerful environment, although I have some doubts about the history of the database.
Hope this helps.
source share