Linq-to-NHibernate OrderBy不工作

时间:2011-01-21 13:00:07

标签: nhibernate linq-to-nhibernate

我正在尝试命令Linq到NHibernate查询。

                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();

如果使用orderby,则存在差异。 在前面的代码中,clients2类型是NHibernate.Criterion.Lambda.IQueryOverOrderBuilder。

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

在这种情况下,clients4的类型是NHibernate.Criterion.QueryOver。 有人知道这个问题吗?

1 个答案:

答案 0 :(得分:1)

QueryOver不是LINQ API。您应该使用查询扩展方法。

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

<强>更新

using NHibernate.Linq;