需要一些NHibernate查询的帮助

时间:2010-06-07 14:36:17

标签: nhibernate

假设我有3个实体:业务,员工和付款。付款具有雇员的外键,而雇员具有企业的外键。

现在,我想创建一个查询,它为我提供给定业务的所有付款。我真的不知道如何做到这一点 - 我想我想要的东西:

mySession.CreateCriteria<Payment>()
    .Add(Criterion.Expression.Eq(/* Employee_FK => Employee.Business_FK == BusinessID */);

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

首先,您需要将这些FK映射为模型中的多对一关系。

然后,我将HQL用于此查询而不是Criteria:

Business aBusiness = ...
var payments = session.CreateQuery("from Payment where Employee.Business = :business")
                      .SetParameter("business", aBusiness)
                      .List<Payment>();