Kann ich mit der ICriteria
API von NHibernate eine zufällige Zeile auswählen?Wie wähle ich eine zufällige Zeile mit NHibernate ICriteria API?
6
A
Antwort
13
Genau wie cundh2o sagte, es ist DBMS-spezifisch. Sie können jedoch die Order-Klasse ableiten und Ihre eigene benutzerdefinierte Reihenfolge definieren. Zum Beispiel für SQL Server:
public class RandomOrder: Order {
public RandomOrder() : base("", true) {}
public override SqlString ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery) {
return new SqlString("newid()");
}
}
1
Wenn Sie nicht auf ICriteria beschränkt sind, empfehle ich Ihnen, stattdessen HQL zu verwenden, um eine zufällige Zeile auszuwählen, da es möglicherweise mehr Flexibilität bietet, die von Ihrem Datenbankanbieter bereitgestellte Random-Funktion zu verwenden.
IQuery q = NHibernateSession.CreateQuery("your hql statement here")
Verwandte Themen
- 1. Nhibernate ICriteria API-Referenz
- 2. nHibernate ICriteria Join Bedingung
- 3. NHibernate - Beitritt zu einer Unterabfrage mit ICriteria
- 4. NHibernate ICriteria und erwartete Typen
- 5. Linq zu NHibernate vs. ICriteria
- 6. Sortieren nach Sammlungsanzahl mit ICriteria & NHibernate
- 7. Wie wähle ich eine zufällige Zeile aus der Datenbank in Grails?
- 8. Wie verwendet man ICriteria mit Enum-Eigenschaften in NHibernate
- 9. Wie man mehrere wo Bedingungen mit Icriteria in Nhibernate
- 10. Wie kann ich diese LINQ-Abfrage mithilfe der NHibernate ICriteria API ausdrücken?
- 11. Wie wähle ich mit googleapis bigquery api
- 12. Nhibernate ICriteria Enum-Flags (BitMask) Unterstützung
- 13. Wie wähle ich eine Option Prototyp mit
- 14. MySQL: Wie eine zufällige Zeile oder mehrere zufällige Zeilen abrufen?
- 15. Wie wähle ich 2 zufällige Elemente aus einem Python-Set?
- 16. SQL - Wie wähle ich jeweils eine Zeile aus?
- 17. Eine zufällige Zeile mit LINQtoSQL abrufen
- 18. Auswählen ein verbundenes Unternehmen mit einem ICriteria in NHibernate
- 19. NHibernate 2.1: LEFT JOIN auf SubQuery mit Alias (ICriteria)
- 20. Wie bekomme ich eine zufällige Zeile in CakePHP 3.0?
- 21. nHibernate Criteria API Projektionen
- 22. Wie wähle ich den Count (*) ein nHibernate Subquery der Ergebnisse
- 23. Wie NHibernate ICriteria API verwenden, indem Eigenschaften auf einer Unterklasse eines zugehörigen Objekts
- 24. Ist es möglich, eine faule IEnumerable von einer NHibernate-Abfrage mit ICriteria zu erhalten?
- 25. zufällige Zeile in Datei
- 26. Was ist der Unterschied zwischen ICriteria und ICriterion in nHibernate?
- 27. So wählen Sie eine zufällige Zeile aus einer Textdatei
- 28. Wie wähle ich eine zufällige Ganzzahl aus der Liste, die sich von der vorherigen unterscheidet?
- 29. Welche Windows-API wähle ich für eine Rich-Client-Anwendung?
- 30. Wie wähle ich eine li mit einer bestimmten Klasse?
2.1.2 kompatibel: public override SqlString ToSqlString (ICriteria Kriterien, ICriteriaQuery criteriaQuery) { neuen SqlString zurückzukehren ("newid()"); } – mxmissile
@mxmissile: Prost, ich aktualisierte meine Antwort. –
Die Verwendung von Newid führt jedoch zu einer schrecklichen Leistung auf mittelgroßen bis großen Tabellen. – UpTheCreek