Nhibernate 如何确定记录的子项数?

Nhibernate 如何确定记录的子项数?,nhibernate,count,nhibernate-criteria,Nhibernate,Count,Nhibernate Criteria,大家下午好 我在学习NHibernate,决定做些改变。其中,我注意到有些字段是不必要的。因此,我提出我的疑问: 我有一个列表,我们称之为班级列表,在每个学习班级中,我可以为每个班级安排N名学生。在list类_list中,我还有其他属性,比如类的名称。 我怎么看不需要在数据库中存储我有多少学生,我会在一个查询中显示我有多少记录。这个,使用NHibernate 这可能吗?怎么做 致以最良好的祝愿 古斯塔沃 编辑:我忘了说一件事。。。我想以列的形式返回这个记录数。但此列未映射到my.hbm.xml文

大家下午好

我在学习NHibernate,决定做些改变。其中,我注意到有些字段是不必要的。因此,我提出我的疑问: 我有一个列表,我们称之为班级列表,在每个学习班级中,我可以为每个班级安排N名学生。在list类_list中,我还有其他属性,比如类的名称。 我怎么看不需要在数据库中存储我有多少学生,我会在一个查询中显示我有多少记录。这个,使用NHibernate

这可能吗?怎么做

致以最良好的祝愿

古斯塔沃


编辑:我忘了说一件事。。。我想以列的形式返回这个记录数。但此列未映射到my.hbm.xml文件中

如果学生在课堂上被映射为一个集合,您可以尝试使用以下方法:

var numberOfStudents = session.CreateCriteria<Class>()
    .Add(Restrictions.IdEq(1))
        .CreateCriteria("_students", "students")
        .SetProjection(Projections.RowCount())
        .UniqueResult<Int32>();
var numberOfStudents=session.CreateCriteria()
.添加(限制条件。IdEq(1))
.CreateCriteria(“学生”、“学生”)
.SetProjection(Projections.RowCount())
.UniqueResult();

其中“1”是类的id(您可以使用其他属性),而“\u students”是学生集合的名称。

我忘了说一件事。。。我想以列的形式返回这个记录数