То, что вы спрашиваете, является довольно большим вопросом. Вот аналогичный вопрос, и мой ответ на этот вопрос может дать вам много полезной информации о различных .NET ORM:
NHibernate, Entity Framework, активные записи или linq2sql
Вы не заметите тонну различий в производительности между различными вариантами в большинстве сценариев. Все опции построены на ADO.NET и позволяют вам использовать сырой ADO.NET для достижения максимальной производительности.
Все решения являются гибкими, если вы готовы написать свой собственный код. NHibernate обеспечивает большинство функций из коробки, безусловно.
Масштабируемость затруднительна, есть способы достичь масштаба со всеми опциями, но некоторые делают это проще, чем другие. Опять же, NHibernate является наиболее многофункциональным с точки зрения масштабируемости из коробки, предоставляя такие функции, как кэш уровня 1 и уровня 2.
Для бизнес-логики три ORM будут работать примерно одинаково, но прикладной блок доступа к данным не является ORM и не предоставляет никаких функций ORM, поэтому вы полностью самостоятельно сопоставляете свою реляционную таблицу данные в объекты из Data Readers или DataSets.