Nhibernate跳过不生成正确的sql

时间:2012-03-26 08:46:40

标签: sql linq nhibernate informix linq-to-nhibernate

包含以下查询:

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' 

1 个答案:

答案 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吗?