假设我有3个实体:业务,员工和付款。付款具有雇员的外键,而雇员具有企业的外键。
现在,我想创建一个查询,它为我提供给定业务的所有付款。我真的不知道如何做到这一点 - 我想我想要的东西:
mySession.CreateCriteria<Payment>()
.Add(Criterion.Expression.Eq(/* Employee_FK => Employee.Business_FK == BusinessID */);
非常感谢任何帮助:)
答案 0 :(得分:1)
首先,您需要将这些FK映射为模型中的多对一关系。
然后,我将HQL用于此查询而不是Criteria:
Business aBusiness = ...
var payments = session.CreateQuery("from Payment where Employee.Business = :business")
.SetParameter("business", aBusiness)
.List<Payment>();