2009-08-14 21 views
0

Angenommen, Sie haben eine Tabelle mit dem Namen Artikel.dynamische Bestellung mit Nhibernate

Es folgende Spalten: ID, Name, Körper, erstellt, geändert, Seitenzugriffe usw.

eine einzige Methode verwenden, wäre es möglich, eine Liste von Artikeln zu ziehen, und es welche Säule passieren Ich möchte bestellen? Und auch die Richtung, d.h. desc oder asc.

Antwort

3

Ich bin mir nicht sicher, was Sie durch „single-Methode“ Kommentar bedeuten, aber Sie können diese Criteria mit tun:

IList articles = session.CreateCriteria(typeof(Article)) 
    .AddOrder(Order.Asc("Name")) 
    .List(); 

Natürlich können Sie diese in einem Verfahren wickeln und den Namen der Eigenschaft übergeben Sie möchten nach Parameter und Sortierrichtung sortieren. Letzteres ist spezifiziert durch Order.Asc() oder Order.Desc().

+0

natürlich, wenn Sie mit HQL komfortabler sind, wäre das Äquivalent "von Artikel nach Namen sortiert nach" –

+1

@ joshua.ewer - Sie haben Recht, und die Verwendung von HQL ist _usually_ ein besserer Ansatz. In diesem Fall müsste jedoch HQL dynamisch erzeugt werden, was weniger als ideal ist. – ChssPly76