我们编写了一些代码,这取决于使用IQueryable
个实例,因此我认为我们不得不使用ISession.Query<>()
。
在一个特定的情况下,我想只部分地对DBO进行水合,并从NHibernate将生成的SELECT语句中排除某些列。
使用Query<>
时是否可以实现这一目标?
或者,是否可以某种方式从ICriteria
转到IQueryable
? (我认为ICriteria
可以通过投影实现我的目标吗?)
答案 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的一些基本信息: