Using EF 4.1 and Castle ActiveRecord (based on NHibernate), I would rate them as follows:
Database access speed - NHibernate for something remotely complex, otherwise it’s about the same. The problem with EF is that it creates such collapsed SQL that it is difficult to understand how to optimize it or if it is possible.
Learning Curve - I personally found EF easier to get started, but others may feel different, and both, of course, have a learning curve.
Community Support - Depends on what you mean by "support." You will find a lot of information on the Internet (and on this site) for both. NHibernate is open source and EF is managed by MS.
Textbooks / Books - I believe that there are more “official” resources available for EF at the moment, but a search on the forums is likely to give you something you can't find in books.
Something Else - Understand that the goal of ORM is to simplify the level of data access for a developer. However, both of these ORMs (and almost all other heavy ORMs) expect you to use certain coding patterns for this simplification to be implemented. While applying coding patterns is not Bad Thing (some claim to be required), this is something you definitely need to prepare before choosing it.
source share