NHibernate JoinQueryOver条件

时间:2011-11-08 12:29:28

标签: c# nhibernate join

我在sql中有一个内部连接条件,如下所示:

SELECT
    UniqueID
FROM
    Manuscripts M
    inner join
        Workflows W
            on M.WorkflowID=W.WorkflowID 
    inner join
        WorkflowSteps WS
            on W.WorkflowID=WS.WorkflowID 
            and WS.WorkflowStepID = W.LastStepID 
WHERE
    M.IssueID = ? 
    and W.LastStepID is not null
    and WS.ActualEnd is null

我正在将查询翻译为nhibernate,到目前为止,我无法定义其他连接条件,我的查询如下:

Workflows workflow = null;
WorkflowSteps workflowStep = null;

return session.QueryOver<Manuscripts>()
    .Where(p => p.Issues == Issue)
    .Inner.JoinQueryOver(p => p.Workflows, () => workflow)
    .WhereNot(p => p.LastWorkflowStep == null)
    .Inner.JoinQueryOver(p => p.WorkflowSteps, () => workflowStep)
    .Where(() => workflowStep.DateActualEnd == null)
    .Select(p => p.UniqueId)
    .List<string>();

如何使用条件API将其他条件添加到联接?

非常感谢, 佩德罗

1 个答案:

答案 0 :(得分:0)

我不知道是否可以添加其他连接条件,但由于您正在使用内连接,因此您可以将附加条件放在查询的where部分。