I ran across this one the other day when I was just cruising around the Net -
which just goes to show you how hard it is to keep track of all the .NET tools
out there. The software installed easily (using NSIS as its installer) and then
I set about exploring it).
After setting a database connection (which you can change later, but which is
remembered between runs) you're presented with the main MyGeneration user
interface. This includes browsers for both your data source and your templates,
as well as a window where the generated code will live. The real fun starts when
you open a template - say, the one for generating SQL Server stored procedures.
Click the Run button, and you're presented with a form that lets you select the
database and tables to use. Click OK, and the code generator does its stuff.
MyGeneration templates contain both user interface code and generation code.
You define the user interface to be presented when a template is run using the
included Zeus API, which lets you build simple Windows forms that hook up to
databases easily. The actual code generation is handled by an ASP-like language
that lets you wrap logic around output. You've also got a built-in set of
objects for retrieving database metadata here.
One notable thing about MyGeneration is the number of templates that you get
out of the box. There's support for Access, SQL Server, Oracle, VistaDB, and
Firebird. You also get templates for things like Gentle.NET and even PHP
business objects, as well as HTML documentation of database entities. Many of
the templates use the dOOdads architecture, which
comes from MyGeneration as well. This architecture generates the code into
MustInherit classes, so that you can add custom business logic into your own
inherited classes and not worry about it getting whacked if you re-run the
The biggest lack here is documentation. There's a bit of online
documentation and a few tutorial articles, but mostly it boils down to "take a
look at the existing templates to see how we did it." This is alleviated,
though, by an active support forum on their Web site. All in all, this looks
like a worthwhile contender for .NET code-generation needs.
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.