I'm a big fan of NHibernate. I love how it abstracts out the data portion of your application and allows you to work from the perspective of the domain rather than the database. So in building my domain repositories, I have several options to query...