0

大家下午好!

我正在学习 NHibernate,并决定进行一些更改。其中,我注意到有些字段是不必要的。所以我提出了我的疑问:我有一个列表,我们在每个学习班内称之为 Class_List,每个班级我可以有 N 个学生。在 Class_List 列表中,我还有其他属性,例如类的名称。我怎么看没有必要在数据库中存储我有多少学生,我会在一个查询中,我有多少记录。这个,使用 NHibernate。

这可能吗?如何?

此致,

古斯塔沃。

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

4

1 回答 1

1

如果学生被映射为 Class 上的集合,您可以尝试使用以下内容:

var numberOfStudents = session.CreateCriteria<Class>()
    .Add(Restrictions.IdEq(1))
        .CreateCriteria("_students", "students")
        .SetProjection(Projections.RowCount())
        .UniqueResult<Int32>();

其中“1”是班级的 ID(您可以使用其他属性),“_students”是学生集合的名称。

于 2012-08-20T21:59:46.713 回答