Ich habe eine Eins-zu-Eins-Beziehung zwischen einer Unternehmensklasse und einer CompanySettings-Klasse. Wenn ich ein neues Firmen Objekt zu erstellen, (a CompanySettings Objekt ist für seine Einstellungen Eigenschaft in Gesellschaft Konstruktor erstellt), und dannNHibernate, Eins-zu-eins-Zuordnung, Kaskadeneinfügung
SaveOrUpdate(session, companyObject)
erwarte ich, dass die INSERT Kaskade von der Gesellschaft an die CompanySettings. Dies geschieht jedoch nicht, wenn ich SaveOrUpdate nicht explizit auch für das CompanySettings-Objekt aufruft.
Mapping-Dateien unten dargestellt:
<?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>
Meine Zuordnungsdatei für die Gesellschaft Klasse Einstellungen:
<?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>