2009-08-14 85 views
0

假設您有一個名爲Articles的表。用nhibernate動態訂購

它具有以下的列: ID,姓名,體,創建,修改,瀏覽量等

使用單一方法,纔有可能拉的文章的列表,並把它傳遞哪一列我想要點餐?還有方向,即desc或asc。

回答

3

我不知道你所說的「單一方法」的評論是什麼意思,但你可以使用Criteria做到這一點:

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

很明顯,你可以在一個方法把這個包,並通過屬性的名稱你想要按照參數以及排序方向進行排序。後者由Order.Asc()Order.Desc()指定。

+0

當然,如果您更習慣使用HQL,則相當於「從名稱爲asc的文章順序」 – 2009-08-14 21:39:23

+1

@ joshua.ewer - 您是對的,而使用HQL通常是更好的方法。但是,在這種情況下,HQL將不得不動態生成,這是不理想的。 – ChssPly76 2009-08-14 21:51:49