在nhibernate中逐列查找数据

时间:2012-02-15 05:55:16

标签: nhibernate

我有一个Employee类,我正在使用nhibernate重新获取员工数据。它给出了 完整列。(例如sql - 选择*)。但是,如果我想要选择列(仅限EmployeeName和EmployeeID),那么我需要创建一个具有这两个属性的类(例如,Empl类)。并使用AliasToBeanResultTransformer,即Projection我可以重试。我想知道在nhibernate中有没有任何方法(没有创建子类(Empl类),或者没有硬编码的hql查询)以便我可以检索特定的列值......

class Employee
{     
  public int EmployeeId { get; set; }
  public string EmployeeName { get; set; }
  public int ResidingInCountryId { get; set; }
  public virtual Country ResidenceCountry { get; set; }
}

1 个答案:

答案 0 :(得分:0)

如果您只想从查询中投射几列,则可以

a)使用DTO虽然你提到你出于某种原因不喜欢这个

b)如果你REALLY想要一个匿名对象列表,那么只需省略结果转换器,这将导致一个具有预测值的匿名对象列表。这对于数据绑定就足够了。

此外,您不需要仅使用HQL作为项目,您可以使用Criteria,QueryOver或NH Linq。