我在客户端hbm文件中以多对一关系引用父对象。 父母和子女的示例代码在
之下子
<class name="Investments" table="investments">
<many-to-one name="Region" Class="BO.Region" column="regionId" not-null="true" lazy="false" />
</class>
父
<class name="Region" table="region">
<id name="ID">
<column name="regionId" type="sql-int" not-null="true"/>
<generator class="assigned"/>
</id>
<property name="RegionName">
<column name="regionName" not-null="true"/>
</property>
</class>
我们有2个sepearte SQL Server数据库(DB1和DB2),其中有孩子,所以我使用相同的Class&amp;两个数据库中的hbm文件。 但是Parent只存在于一个数据库(DB1)中。
当我使用Nhibernate 2.0时,保存一个新的客户端对象,使用工作正常。但是使用Nhibernate 4.0,当我在DB2中保存一个新的Child对象时,我收到错误&#34;找不到区域&#34;。 Nhibernate试图在DB2中找到区域表,而不是那里。
设置懒惰=&#34; true&#34;在多对一的关系,工作,但它不是一个选项,因为代码的某些部分需要eagar加载。
这里的问题是,如何抑制Nhibernate加载对象,这在Database2中不存在?