首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate映射未保存

NHibernate映射未保存
EN

Stack Overflow用户
提问于 2012-10-05 23:41:17
回答 1查看 247关注 0票数 0

我有以下Nhibernate XML文件,已编辑到核心部分:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
   <hibernate-mapping assembly="TTP.DAO" namespace="TTP.DAO" xmlns="urn:nhibernate-mapping-2.2">
<class name="InitialProcessSetup" table="InitialProcessSetup" lazy="true" >
    <id name="SetupID" column="setupID" unsaved-value="0" type="System.Int32">
        <generator class="identity"/>
    </id>
    <property name="DateCreated" column="DateCreated" />
    <many-to-one class="StoredUser" name="CreatedBy" column="CreatedBy" cascade="all-delete-orphan" not-null="true"/>
    <property name="OriginalDeadline" column="Deadline" />
    <property name="Detail" column="Detail" />
    <bag name="Subjects" table="InitialProcessSetupRatingSubject" inverse="true" cascade="all-delete-orphan">
        <key column="SetupId" not-null="true" />
        <many-to-many column="SubjectStoredUserId" class="StoredUser" />
    </bag>
    <bag name="Reviewers" table="InitialProcessSetupReviewer" cascade="all-delete-orphan">
        <key column="SetupId" not-null="true" />
        <many-to-many column="ReviewerStoredUserId" class="StoredUser" />
    </bag>
    <bag name="Invitations" cascade="all-delete-orphan">
        <key column="Setup" not-null="true"/>
        <one-to-many class="ProcessInvitation" />
    </bag>
</class>

我填充了上面映射中指定的类的一个新实例,并通过GenericDAO().SaveOrUpdate(Setup)保存;它保存了主对象的详细信息,但没有存储该位。

在类上,Subjects被定义为返回IList-StoredUser的虚拟属性。类构造函数将此属性设置为新的List-StoredUser-()。

Subjects bag元素指示的表是一个纯映射表,即它有一个SetupID和StoredUserID列,仅此而已。

在保存之前,我将使用派生的StoredUserDAO()的StoredUser添加到Subject列表。在调用SaveOrUpdate()之后,我还调用了Flush()。

在我的数据库(SQL Server2008R2)中,保存了主设置数据,还保存了我添加到Subjects list属性中的已存储用户,只是映射表没有添加setupID/StoredUserID。

我是Nhibernate的新手,这是一个现有的项目。任何关于错误之处的帮助想法都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-07 01:09:47

您已经为Subjects集合设置了inverse="true“。这意味着对于要在关系表中创建记录的NHibernate,它必须是引用InitialProcessSetup的StoredUser。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12749637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档