根据nHibernate探查器,我需要在映射文件中添加inverse =“ true”,但是,我似乎找不到关于将属性确切放置在何处的示例。有人可以根据以下映射文件告诉我我需要在其中放置inverse =“ true”吗?

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   auto-import="true"
                   namespace="LROLib.Domain"
                   assembly="LROLib">
  <class name="TestResult" table ="Test_Results" >
    <id name="Test_Result_Id" >
      <generator class="native" />
    </id>

    <many-to-one name="Test_Result" class="Result" column="Result_Id" />
    <many-to-one name="Test_Applicant" class="Applicant" column="Applicant_Id"/>

    <property name="Test_Name" />
    <property name="Value" />
    <property name="Hi_Lo_Ind" />
    <property name="Range" />
    <property name="Unit_Of_Measure" />
    <property name="Lo_Range" />
    <property name="Hi_Range" />
    <property name="Create_DateTime" update="false"/>
    <property name="Update_DateTime" />
    <property name="User_Name" />

  </class>
</hibernate-mapping>

最佳答案

在大多数情况下,“逆向”是标识关系所有者。对于您的特定情况,这应该在您的ResultApplicant映射中。

您可以在this blog post中阅读更多内容。引用/解释该文章中一个特别相关的陈述:


但是,“ inverse”关键字本身不够冗长,我建议将[inverse]关键字更改为“ relationship_owner”。

简而言之,inverse="true"表示这是关系所有者,而inverse="false"(默认)表示不是。

关于nhibernate - 在nHibernate映射文件中的何处放置inverse =“true”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12500306/

10-12 19:16