NHibernate:获取不带';t使用API标准在不同的表中没有外来记录

NHibernate:获取不带';t使用API标准在不同的表中没有外来记录,nhibernate,criteria,Nhibernate,Criteria,所以我有交易和分配。我想获取GLAllocation表中没有相应记录的所有事务。下面的SQL生成我想要的结果 select t.* from [Transaction] t left join [GLAllocation] gla on gla.TransactionID = t.TransactionId where gla.glid is null 有没有一种方法可以使用CriteriaAPI来表示这一点?还是我需要求助于HQL?解决了这个问题 return (List<Transa

所以我有交易和分配。我想获取GLAllocation表中没有相应记录的所有事务。下面的SQL生成我想要的结果

select t.* from [Transaction] t
left join [GLAllocation] gla on gla.TransactionID = t.TransactionId
where gla.glid is null
有没有一种方法可以使用CriteriaAPI来表示这一点?还是我需要求助于HQL?

解决了这个问题

return (List<Transaction>)currentSession
.CreateCriteria(typeof(Transaction))
.CreateCriteria("GLAllocations", JoinType.LeftOuterJoin)
.Add(Restrictions.IsNull("GL"))
.List<Transaction>();
返回(列表)当前会话
.CreateCriteria(交易类型))
.CreateCriteria(“GLAllocations”,JoinType.LeftOuterJoin)
.Add(Restrictions.IsNull(“GL”))
.List();