You have many options here, I personally prefer the Entity Framework , but I know that NHibernate is also a powerful and widely used ORM.
Personally, I do not suggest going with Linq2Sql . Entity Framework is better as a successor to Linq2Sql .
NHibernate is very effective, but looks more complicated to me (compared to the Entity Framework ).
I have no idea about SubSonic , but I heard about it.
The choice between them? It is completely up to you.
The links below can help you choose wisely:
Subsonic Vs NHibernate
Subsonic 3 VS Entity Framework
Entity Framework 4 vs NHibernate
source share