NHibernate-映射连接表&;反向引用
哎,, 我必须映射以下实体:NHibernate-映射连接表&;反向引用,nhibernate,many-to-many,Nhibernate,Many To Many,哎,, 我必须映射以下实体: class Document { public int DocumentId { get; set; } public DocumentList ContainingList { get; set; } } class DocumentList { public int DocumentListId { get; set; } public DateTime LastUpdateTime { get; set; } public IL
class Document
{
public int DocumentId { get; set; }
public DocumentList ContainingList { get; set; }
}
class DocumentList
{
public int DocumentListId { get; set; }
public DateTime LastUpdateTime { get; set; }
public IList<Doucment> Documents { get; set; }
}
因此,我对tohught的映射如下:
enter code here
<class name="DocumentList" table="TB_DOC_LIST">
<id name="DocumentListId">
<column name="DOC_LIST_ID"/>
<generator class="assigned" />
</id>
<property name="LastUpdateTime" column="DOC_LIST_UPDATE_TIME ">
<set name="Documents" table="TB_LIST_AND_DOCS">
<key column="DOC_ID"></key>
<one-to-many class="Document" />
</set>
</class>
在此处输入代码
以及:
[???]-引用“所有者”文档列表的属性
现在,按照已知的模式,我不知道如何映射从文档到文档列表的反向链接,因为我这里有一个“weired |一对多关系,被第三个表打破。
我也不希望一个文档对象引用一个IList来解决这个问题,因为每个文档只有一个这样的“所有者”文档列表。
有什么好主意吗?我在这里误解了什么?现在无法测试它,但是可以使用连接来获取引用id
<class name="Document" table="TB_DOC">
<id name="DocumentId">
<column name="DOC_ID"/>
<generator class="assigned" />
</id>
<join table="TB_LIST_AND_DOCS">
<key column="DOC_ID"/>
<many-to-one class="DocumentList">
<column name="DOC_LIST_ID" />
</many-to-one>
</join>
</class>
<class name="Document" table="TB_DOC">
<id name="DocumentId">
<column name="DOC_ID"/>
<generator class="assigned" />
</id>
[ ??? ] - property to reference the "owner" document list
</class>
<class name="Document" table="TB_DOC">
<id name="DocumentId">
<column name="DOC_ID"/>
<generator class="assigned" />
</id>
<join table="TB_LIST_AND_DOCS">
<key column="DOC_ID"/>
<many-to-one class="DocumentList">
<column name="DOC_LIST_ID" />
</many-to-one>
</join>
</class>