NHibernate Generic DAO Implementation