[NUnit.Framework.Test]
public void Test2()
{
    NHibernate.ISession session = Z.Core.NHibernateCore.NHibernateHelper.GetCurrentSession();
    var crit = session.CreateCriteria<School>("_School");
    crit.CreateCriteria("_ListStudent", "__ListStudent", NHibernate.SqlCommand.JoinType.LeftOuterJoin);
    crit.Add(NHibernate.Criterion.Expression.Eq("__ListStudent.Name", "Abc"));
    var list = crit.List();
    Console.Write(list.Count);
}NHibernate 可以生成如下
SELECT * FROM Tst_School this_ left outer join Tst_Student liststud1_ on this_.Guid=liststud1_.Guid WHERE liststud1_.Name = 'Abc'
但是如何生成
SELECT * FROM Tst_School this_ left outer join Tst_Student liststud1_ on this_.Guid=liststud1_.Guid AND liststud1_.Name = 'Abc'
这条SQL语句呢?