Like most people here I'd recommend NHibernate, but you may want to look into using it in conjunction with CastleProject's ActiveRecord implementation. NHibernate by itself can take a bit of getting used to, but when you throw ActiveRecord on top of it things get a lot easier. I was able to do an EntityFramework->NHibernate/ActiveRecord conversion really quickly.