I'm looking into new ways for me to handle the data access layer.
The way i used to do it is have a set of classes that reflect the data, and then one or more classes that did the actual database communication and used the data classes for reference.
I find this method a bit tedious when the application gets larger however.
If i look around Google for best practices on this topic, everyone talks about DataSets, but i highly dislike DataSets and find them pretty impractical.
I definitely like having my own custom classes the most, however it hurts me deep when i have to have traits that reflect the database model in my classes. (relational stuff, like FK_OtherTableID).
I know that the entity framework will solve this for us when it's done, but there's one thing i don't like about the entity framework, and that's the inability to separate the mapping completely from the classes you're working with, and only have the XML files to guide the framework.
This means that you have to have specialized classes, with interface implementations and special attributes, which I'm not a fan of either.
I might just be very picky, and need to come down to earth and pick one of the above. Or maybe there are completely other ways to go.
So to round this up, I'm interested in knowing how you all like to do data access.