NHibernate Session.Query<&gt ;,列列表?

时间:2014-09-22 09:52:08

标签: c# sql nhibernate

我们编写了一些代码,这取决于使用IQueryable个实例,因此我认为我们不得不使用ISession.Query<>()

在一个特定的情况下,我想只部分地对DBO进行水合,并从NHibernate将生成的SELECT语句中排除某些列。 使用Query<>时是否可以实现这一目标?

或者,是否可以某种方式从ICriteria转到IQueryable(我认为ICriteria可以通过投影实现我的目标吗?)

1 个答案:

答案 0 :(得分:1)

IQueryable也支持预测。语法应该是这样的:

var query = session.Query<Employee>();
var list = query.Select(s => new Employee
    {
        FirstName = s.FirstName,
        LastName = s.LastName,
        ...
     })
     .ToList();

新员工甚至可能是某些DTO ......

有关QueryOver投影API的一些基本信息: