Mark Churchill wrote:
If you are really insistant on DIY you could tag all your fields with attributes and then write a templated base class that uses reflection to populate the fields. If you only have a few tables, it will probably be easier to not use a data layer at all to be honest.
You might be interested an article here on CP, the Tale of the Three Monkeys or something like that, basically outlining pros and cons of using hand-written DALs, Reflection generated DALs and thirdly (whole point of the article) generated custom code using Reflection.Emit and DynamicMethods. Just search google with monkey site:codeproject.com and it should be first link.