LINQ et QueryOver sont des méthodes de requête complètement différentes, qui s'ajoutent à celles qui existaient dans NHibernate 2 (Criteria, HQL, SQL)
QueryOver est conçu comme une version fortement typée de Criteria, et supporte principalement les mêmes concepts, qui sont spécifiques à NHibernate.
LINQ est une méthode de requête "standard", ce qui signifie que le code client peut travailler sur IQueryable sans références explicites à NHibernate. Il prend en charge un ensemble différent de concepts; il serait difficile de dire s'il y en a plus ou moins qu'avec QueryOver.
Ma suggestion est d'apprendre toutes les méthodes de requête prises en charge, car chaque cas d'utilisation est différent et certaines fonctionnent mieux avec l'une, d'autres fonctionnent mieux avec l'autre.