2011-01-21 58 views
0

我想要一個Linq到NHibernate查詢。Linq到NHibernate OrderBy不工作

   var clients = (from c in session.QueryOver<Clients>() 
       orderby c.Nom 
       select c 
       ).List(); 

它不起作用:List()不是現有的方法。

  var clients2 = (from c in session.QueryOver<Clients>() 
      orderby c.Nom 
      select c 
      ); 
      var clients3 = clients2.Asc.List(); 

還有,如果使用或不使用排序依據的差異: 如果我寫的是它的工作原理。 在前面的代碼中,clients2類型是NHibernate.Criterion.Lambda.IQueryOverOrderBuilder。

  var clients4 = (from c in session.QueryOver<Clients>() 
      select c 
      ); 

在這種情況下,clients4的類型是NHibernate.Criterion.QueryOver。 有人知道這個問題嗎?

回答

1

QueryOver不是LINQ API。您應該改用查詢擴展方法。

var clients = (from c in session.Query<Clients>() 
       orderby c.Nom 
       select c 
       ).List(); 

更新

using NHibernate.Linq; 
+1

我已經聽到的Isession類的查詢方法,但Intellisence沒有找到它。在我的項目中,我提到了所有需要的dll。 – 2011-01-21 13:09:53