(я пытался ответить не специфичным для .NET способом, когда это возможно.)
Наиболее важными критериями выбора ORM являются требования вашего бизнеса.
Я бы сказал, что другим важным критерием является ваша вера в будущую устойчивость ORM. Microsoft имеет тенденцию менять свои технологии доступа к данным каждые два года, поэтому я бы сказал, что будущее Entity Framework неясно. NHibernate может следовать тем же путем, что и NUnit - когда Microsoft выпустила MSTest, NUnit некоторое время томилась, но теперь NUnit снова набирает обороты, поскольку Microsoft в основном игнорирует MSTest. Здесь вы должны прийти к своему собственному заключению, сейчас Microsoft, похоже, придает Entity Framework некоторую любовь, но, насколько я знаю, он все еще не очень хорошо обрабатывает перечисления, и я не слышал, когда это может измениться.
Другим критерием является то, предпочитаете ли вы технологии с открытым исходным кодом или технологии Microsoft или коммерческие сторонние технологии.
В какой-то момент функции ORM будут иметь значение. Вам может потребоваться создать прототип сценария с несколькими ORM, чтобы определить, соответствуют ли функции (и / или производительность) ORM вашим требованиям. NHibernate является наиболее многофункциональным ORM в пространстве .NET.
Вам нужна поддержка определенного поставщика базы данных? Выберите ORM, который поддерживает тот, который вам нужен. SQL Server является наиболее широко поддерживаемым поставщиком баз данных в мире .NET.
Есть ли у вас предпочтения между кодом сначала или дизайном базы данных? Выберите ORM, который поддерживает тот, который вам нужен.
Есть ли у вас предпочтение между активной записью и хранилищем против чего-то еще? Выберите ORM, который поддерживает тот, который вам нужен.
Я ответил на вопрос, связанный ниже, о частичном выборе .NET ORM, предоставив ссылки на все вопросы, которые люди спрашивают, какой .NET ORM им следует использовать в StackOverflow. Прочитав эти ответы, вы получите много пользы.
NHibernate, Entity Framework, активные записи или linq2sql
Нет ни одного правильного ответа, ни одного правильного набора критериев для выбора. Ваши деловые требования - самый важный компонент, чтобы рассмотреть.