Zabimaru:
Fala tnet,
Depende um pouco do que o seu cliente aceita para ser utilizado, normalmente o EF é homologado pelas empresas. Porque esses frameworks de terceiros às vezes não são aceitos pelo próprio cliente.
Se for livre, você precisa ver a maturidade da sua equipe com os frameworks, relacionado a curva de aprendizagem, etc.
Eu já ouvi muita raclamação do nHibernate, mas eu sou suspeito pq eu trabalhei pouco tempo com ele.
Relacionado a RIA, ou você utiliza o Asp.net mesmo ou cria um projeto em Silverlight. Ainda não trabalhei utilizando HTML5, então não sei falar.
Abss
Geralmente quem reclama do nHibernate é quem não sabe utilizar uma ferramenta ORM.
O Entity Framework, por outro lado, é homologado por “algumas poucas” empresas, só porque ele leva a assinatura da Microsoft. O NHibernate, apesar de ser um framework de terceiros, está há mais tempo no mercado do que qualquer outro ORM, grandes empresas apoiam o projeto.
Quero ver você mapear uma propriedade com subquery no Entity, ou mapear um Identificador personalizado, criar um log de erros internos do próprio Entity, criar um interceptor claro sem ter que fuçar o framework, imagine então atualizar uma entidade complexa em cascata com objetos de coleção relacionados em relações N-N, 1-N, N-1… Isso até pode funcionar no Entity, mas pense na gambiarra para rodar. (Falo por conhecimento de causa)
Trabalho com Entity e NHibernate, e só digo uma única frase em comparação a ambos: “Como não gosto de gambiarras, prefiro o NHibernate.”