Я не уверен, почему вы выбираете между этими двумя только?
LinqToSql в настоящее время имеет лучшего поставщика Linq, чем NHibernate.
Замок ActiveRecord основан на NHibernate. NHibernate намного больше функций, чем LinqToSql, и функции добавляются намного быстрее в NHibernate.
В зависимости от сложности вашего домена, модели данных и требований, вы можете быть вынуждены использовать NHibernate в какой-то момент, потому что LinqToSql просто не может делать то, что вам нужно (вы не указали, какого рода окружающая среда и требования, которые у вас есть, что имеет большое значение).
Переход с одного ORM на другой может быть трудным / дорогостоящим, поэтому важно выбирать мудро.
В некоторых ситуациях я бы рекомендовал LinqToSql вместо Castle ActiveRecord, но они немногочисленны. Как правило, Castle ActiveRecord с большей вероятностью будет работать в вашей ситуации.