As I sit and struggle my mind through various options for O/R mapping, I wonder what the rest of you are doing. I am (sometimes) developer on
NetTiers (http://www.nettiers.com) which is building up quite a good framework for O/R mapping along with tons of other features.
However, it does have a decent amount of overhead, requiring several of the application blocks and its own DLL. Its perfect for medium to large projects, but now I'm looking into techniques for something more lightweight.
I've started looking at nHibernate and will probably do a test run with that this afternoon - but again, it requires its own DLL I believe, and the XML mapping files seem cumbersome to me.
I'm also noodling over my own solution which will have just enough features to get me by and use reflection and attributes to manage the O/R relationships. My concept is to autodiscover the object mappings by class, interface and property names but let
the developer override those defaults with attributes as needed. (i.e. if you want the Username field to map to the User_Name field, you can specify an override.) While it might require a DLL too, I want to keep it as lightweight as possible and will roll
my own database code, or will incorporate very small parts of the Data Application Block.
Anders is right. This is bunk that after all these years of "advancement" we still have to go through major hoops just to move between the Object and Relational mindsets. (Though, I'm not entirely convinced that Linq is the solution either...)
What methods / software is everyone else using? I've been googling this stuff now for several weeks trying to see different aspects of it, but maybe there's some magic you know about that I haven't found yet