我几乎不知道如何在删除时继续。 我的问题是,如果一个类别与某个问题相关联,并且我尝试从项目中删除它,那么我不应该这样做。不知道如何在NHibernate中删除
我该怎么做?请帮助。
我有3个表,问题,项目类别
的关系如下:1。 一个项目可能有很多问题,一个问题是关系到只有一个项目 2.一个问题可能只一类 3.一个项目可能有一个或多个类别
Issue.hbm.xml如下:
<id name="id" type="Int32" unsaved-value="0" access="field">
<column name="ID" length="4" sql-type="int" not-null="true" unique="true" index="PK_Issue"/>
<generator class="native" />
</id>
<many-to-one name="Project" class="API.Project, API">
<column name="ProjectID" length="4" sql-type="int" not-null="false"/>
</many-to-one>
<many-to-one name="Category" class="API.Category, API">
<column name="CategoryID" length="4" sql-type="int" not-null="false"/>
</many-to-one>
project.hbm.xml
<id name="id" type="Int32" unsaved-value="0" access="field">
<column name="ID" length="4" sql-type="int" not-null="true" unique="true" index="PK_Project"/>
<generator class="native" />
</id>
<property name="Name" type="String">
<column name="Name" length="200" sql-type="varchar" not-null="true" unique="true" index="IX_Project_Name"/>
</property>
category.hbm.xml
<id name="id" type="Int32" unsaved-value="0" access="field">
<column name="ID" sql-type="int" not-null="true" unique="true" index="PK_Category"/>
<generator class="native" />
</id>
<property name="Name" type="String">
<column name="Name" length="50" sql-type="varchar" not-null="true" unique="true" index="IX_Category"/>
</property>
<many-to-one name="Project" class="API.Project, API" >
<column name="ProjectID" length="4" sql-type="int" not-null="false"/>
</many-to-one>
嗨感谢您的回复。我有错误消息:{“API.NHibernate.Issue.hbm.xml(9,75):XML验证错误:'外键'属性没有声明。”} 在我的数据库中,我可以看到以下是外键关系: FK_Issue_Category,FK_Issue_Project和我根据您的示例进行了更改。 – learning 2010-08-10 09:44:38
已编辑代码,看看,让我知道它是怎么回事:) – Scozzard 2010-08-10 21:52:15