我正在尝试命令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。 有人知道这个问题吗?
答案 0 :(得分:1)
QueryOver不是LINQ API。您应该使用查询扩展方法。
var clients = (from c in session.Query<Clients>()
orderby c.Nom
select c
).List();
<强>更新强>
using NHibernate.Linq;