If you can spend some money, have definetely a look at LLBLGEn Pro 3.0
- full .NET 4.0 support and it's a mature product. Good support it's also useful.
- wide database support (Oracle,MS Sql,Firebird,MySql,PostgreSQL,Sysbase)
- nice designer, Model first support and also Database first support
If your budget is thin, then try NHibernate. It's also a mature product,but It has a bigger learning curve. And if you need some support,you can always call Ayende :-)
For smaller projects it's EF 4.0 a good choice.