Вы, наверное, поняли это давным-давно. Решение состоит в том, чтобы добавить параметр ICriteria в метод JoinAlias, например:
Party aliasParty = null;
Party aliasPartyFrom = null;
var parties = QueryOver.Of<Party>(() => aliasParty)
.Left.JoinAlias(
() => aliasParty.AccountabilitiesFrom,
() => aliasAccFrom,
Restrictions.On(() => aliasAccFrom.TimeTo).IsNull)
У меня есть ограничение на aliasAccFrom, где я хочу, чтобы TimeTo было нулевым, в последней строке кода.