我有2个实体 - Classroom
和Section
,我需要有关NHibernate映射的帮助。 Classroom
的集合为Sections
。 Section
有一个回复给其所有者Classroom
的引用。
在代码方面:
public class Classroom
{
public int Id { get; set; }
public ISet<Section> Sections { get; set; }
}
public class Section
{
public int Id { get; set; }
public Classroom Classroom { get; set; }
}
在数据库方面:
CREATE TABLE Classroom (
ClassroomID int
)
CREATE TABLE ClassroomSection (
ClassroomID int,
SectionID int,
IsActive bit
)
CREATE TABLE Section (
SectionID
)
如上所示,即使这是一对多映射,也存在第三个映射表ClassroomSection
。移动此映射表有一些自己的字段,如IsActive
。我不想在我的代码中为ClassroomSection创建一个实体,因为它没有任何域逻辑。但我确实希望能够访问此表中的字段。任何有关双向映射的帮助都表示赞赏。
谢谢!
答案 0 :(得分:0)
听起来ClassroomSection是一个值对象而不是一个实体,这是正确的吗?
答案 1 :(得分:0)
发布一些示例代码,说明您希望如何访问IsActive。
Ayende的最新帖子可能会给你想要完成的事情提供一些线索:http://ayende.com/Blog/archive/2009/06/10/nhibernate-ndash-query-only-properties.aspx