包含以下查询:
session.Query<Brand>()
.Where(x => x.Name == "Clause")
.Select(a => a.Name)
.Take(10)
.ToList();
NHibernate没有生成正确的SQL - 它似乎没有添加限制器并且似乎正在生成代码 - 而不是在SQL中。
任何想法?
生成的SQL:
select brand0_.br_name as col_0_0_ from Brands brand0_
where brand0_.br_name=?;p0 = 'Clause'
答案 0 :(得分:1)
我正在使用这样的代码,它在SQL中得到了“TOP”。 (NHibernate 3.1版)
@mattytommo是对的,你忘记了“List()”:
session.Query<Brand>()
.Where(x => x.Name == "Clause")
.Select(a => a.Name)
.Take(10)
.List();
您使用过QueryOver吗?