nhibernate+标准。如何返回没有引用实体的结果

nhibernate+标准。如何返回没有引用实体的结果,nhibernate,criteria,Nhibernate,Criteria,我有以下标准: ICriteria criteria = Session.CreateCriteria<Entity>() .SetFetchMode("Entity1", FetchMode.Eager) .SetFetchMode("Entity2", FetchMode.Select) .SetMaxResults(max) .SetFirstResu

我有以下标准:

ICriteria criteria = Session.CreateCriteria<Entity>()
                .SetFetchMode("Entity1", FetchMode.Eager)
                .SetFetchMode("Entity2", FetchMode.Select)
                .SetMaxResults(max)
                .SetFirstResult(min)
                .Add(Restrictions.Eq("Available", true))
                .CreateAlias("Entity3", "b")//, NHibernate.SqlCommand.JoinType.InnerJoin)
                .Add(Restrictions.Eq("b.Name", variable))
                .SetResultTransformer(new NHibernate.Transform.DistinctRootEntityResultTransformer());
执行此查询时,Entity3中的所有字段都返回到。 我如何执行它并在结果中只包含引用了Entity1的Entity对象和不包含Entity3的Entity2对象?

也许这会有所帮助

IList criteria2 = session.CreateCriteria(typeof(class1), "cl1")
.CreateAlias("subclass1.subclass2", "s2")
.CreateAlias("subclass1.subclass3", "s3")
.SetProjection(Projections.ProjectionList()
.Add(Projections.Property("s2.NAME"))
.Add(Projections.Property("s3.CODE")))
.List();

您可以根据需要深入映射类以生成别名。

这很可能是不可撤销的。为什么不希望引用Entity3对象?