NOTE: Read about our Current Status
Paul Wilson on How-To-Select an O/R Mapping Tool for .NET (2006)
The most important thing is to find an object-relational mapper and use it. It is very hard to imagine going back to the old tedious persistence code because all good mappers automatically load and persist your business objects, allowing you to focus on your primary task and making your code more maintainable. Many developers don't use mappers because they see the differences among the various mappers as an indication that all are lacking. Yes, there are differences, but many good mappers are more than able to handle the most common (if not all) of your persistence scenarios efficiently.
The differences tend to boil down to style and advanced features; in most cases, you should choose the mapper that best fits your philosophy. Some mappers are the non-intrusive Plain Old CLR Objects (POCO) style, others rely on code generation, some are more intrusive, and others modify Intermediate Language (IL) at run-time. Which is the best? There is no right answer to that question because it really depends on your style and the corresponding features that you may or may not need. It's a tradeoff because the simpler POCO mappers are easy to use and very flexible and the more intrusive mappers offer advanced features.
The most important task is finding the best fit for your style. Do you prefer external XML mappings or code attributes? Are you comfortable with dynamic SQL or do you also require support for stored procedures? Do you want to map fields or properties, or both? Do you want to avoid reflection? Would you also like DAL features or are you happy sometimes working with ADO.NET? Do you want your query language to be similar to SQL or XPATH, or to be more of an OO abstraction? How do you want to handle null values?
You may end up choosing an object-relational mapper that is free and open-source. If that fits your style, that's great, but keep in mind that if it's not your style, it's likely to end up costing you time and energy to get comfortable with it. Most good mappers are affordable and worth it if it fits your style.
Save yourself and your clients a lot of time by getting an object-relational mapper-there's just no good excuse to not use one. Find the one that best fits your style, narrowing the choices down from vendor examples, documentation, and forums, then download and try the demos.