Tôi có mối quan hệ một-một giữa lớp Công ty và lớp Công tyCài đặt. Khi tôi tạo ra một đối tượng công ty mới, (một đối tượng CompanySettings được tạo ra trong constructor của Công ty đối với tài sản Cài đặt của nó), và sau đóNHibernate, ánh xạ một đối một, ghép tầng
SaveOrUpdate(session, companyObject)
tôi hy vọng các INSERT để thác từ Công ty đến CompanySettings. Tuy nhiên, điều này không xảy ra trừ khi tôi gọi một cách rõ ràng SaveOrUpdate trên đối tượng CompanySettings.
file Mapping hiển thị dưới đây:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"`>
<class name="AST.Domain.Company, AST.Domain" table="Companies">
<id name="EntityID" column="CompanyId">
<generator class="guid.comb" />
</id>
<property name="CompanyName" />
. . .
<one-to-one name="Settings" class="AST.Domain.CompanySettings, AST.Domain"
constrained="true" lazy="false" />
</class>
</hibernate-mapping>
tập tin bản đồ của tôi cho lớp Công ty Cài đặt:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="AST.Domain.CompanySettings, AST.Domain" table="CompanySettings">
<id name="EntityID" column="CompanyId">
<generator class="foreign">
<param name="property">Company</param>
</generator>
</id>
<property name="MaxUsers" />
<one-to-one name="Company" class="AST.Domain.Company, AST.Domain" />
</class>
</hibernate-mapping>