2010-12-08 33 views
1

J'ai une fonction qui retourne un nombre maximum d'éléments qui sont actifs.Lors de l'utilisation de CreateCriteria, comment trier les résultats dans un ordre aléatoire?

J'aimerais pouvoir trier les résultats retournés dans un ordre aléatoire.

public IList<Widgets> GetWidgetsToDisplay(int maxToGet) 
{ 
    var query = CommonSessionManager.GetSession().CreateCriteria<Widgets>() 
     .Add(Expression.Eq("IsDeleted", false)) 
     .Add(Expression.Eq("IsActive", true)); 

    return query.SetMaxResults(maxToGet).List<Widgets>(); 
} 
+0

duplication possible de [Comment sélectionner une ligne aléatoire à l'aide de l'API ICriteria de NHibernate?] (Http://stackoverflow.com/questions/729687/how-do-i-select-a-random-row-using-nhibernates -icriteria-api) –

Répondre

1

Cela dépendra base de données, mais un coup d'oeil here pour une solution de serveur SQL order by newid().