If you don't have an existing database, then the purpose
of the database is to persist your classes. So you define
you classes as they fit the app best. And then the tables
are generated that fits best with the object and the given
ORM framework. That is a lot easier, but not always possible.
And to you your analogy: it makes more sense to define the
donkey cart after the Ferrari than the Ferrari after the donkey cart.
Yes good analogy. I'll have to look into EF and see what the latest
incantation is. Does it come 'built into' Visual Studio 2010, or is
it a special download?
BTW I saw an interesting but speculative article on why Hungary
produces so many math geniuses--the nature of the Hungarian language
is so difficult--apparently it is a form of Reverse Polish Notation (I
guess like Japanese and other Asian languages) and has three different
formal tenses, not to mention certain other grammatical quirks that I
could not even understand in English, that it forces people to think
carefully before they speak--and the theory is this tends to cultivate
one's math skills more. Interesting. This was in The Economist year
end issue that also featured Hungary's famous "mini-cars" from after
WWII (motorcycle engines in a small car, some only 1.5 m high, that
seated only two people--in response to the USSR insistence that
Hungary not build full sized cars).
RL