Power to the DAL with an O/RM Tool
Why should you write a DAL yourself? Is it because you have a strict nonfunctional requirement that explicitly prohibits the use of an O/RM? Or is it because you think you would craft your DAL better than any commercial O/RM tools?
In a domain-based world, a well-built DAL is nearly the same as a well-built O/RM tool. And an O/RM tool has a team of people (usually, very smart people) entirely devoted to that. They spend their working hours thinking about new features, experimenting, and receiving and processing feedback. Very few outside developers can compete with them.
In this book, we went through a handmade DAL for essentially two reasons. One reason was to give you a concrete idea of how it works and how to ...