大家下午好!
我正在学习NHibernate,并决定做一些改变。其中,我注意到一些领域是不必要的。所以我怀疑: 我有一个列表,我们在每个学习班中称它为Class_List,每个班级我可以有N个学生。在列表Class_List中,我还有其他属性,就像类的名称一样简单。 我怎么看是没有必要存储我在数据库中有多少学生,我会在一个查询中记录我有多少记录。这,使用NHibernate。
这可能吗?怎么样?
致以最诚挚的问候,
古斯塔沃。
编辑:我忘了说一件事......我想把这个记录的数量作为专栏返回。但是此列未映射到我的.hbm.xml文件中。
答案 0 :(得分:1)
如果学生被映射为Class的集合,您可以尝试使用以下内容:
var numberOfStudents = session.CreateCriteria<Class>()
.Add(Restrictions.IdEq(1))
.CreateCriteria("_students", "students")
.SetProjection(Projections.RowCount())
.UniqueResult<Int32>();
其中“1”是班级的ID(您可以使用其他属性),“_学生”是学生集合的名称。