Summary
My goal with creating SubSonic centered around one thing, and one thing only: we work too hard, spinning up needless complexity. The tools (at the time) only layered that complexity and made specialists of the people willing to learn them.
I want to provide a tool to people that will *make them productive* as long as they are willing to flex our convention. To answer the question: I built this tool to be easy - not necessarily prescriptive or theoretically perfect. I built it to help you get work done and there's always a back door or 12 for you.
Examples
There are many, many ways to work with SubSonic. You can use our command-line tool Command line to generate code and database schema as well as data. You can work with our Code Generation to have your code automatically created for you.
Or you can tell us to get out of your way, and you can use our SimpleRepository which uses a dash of Reflection to create a database table for you and your object data.
It's up to you - but always know there are 2-3 ways to do anything with SubSonic. We don't want to back you into a corner.
Closing Thoughts
Some people like SubSonic - some don't. Some folks like to have a highly ornate system to work with their data, some don't. We're the latter. We've been called "a toy" and "a miracle" - I like to look at somewhere in the middle: A Toy Miracle perhaps. And that suits me just fine.