Linq-to-NHibernate OrderBy 不工​​作

发布于 2024-10-14 04:32:52 字数 783 浏览 1 评论 0原文

我正在尝试订购 Linq to 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
            );

在本例中,client4 的类型是 NHibernate.Criterion.QueryOver。 有人知道这个问题吗?

I'm trying order a Linq to NHibernate query.

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

It doesn't work : List() isn't an existing method.
It works if I write that :

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

There is a difference if orderby is used or not.
In the previous code, the clients2 type is NHibernate.Criterion.Lambda.IQueryOverOrderBuilder.

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

In this case clients4's type is NHibernate.Criterion.QueryOver.
Does someone know this issue ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘香 2024-10-21 04:32:52

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

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

更新

using NHibernate.Linq;

QueryOver is not the LINQ API. You should use the Query extension method instead.

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

Update

using NHibernate.Linq;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文