2011-01-21 55 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