У меня есть проект, реализованный NHibernate и использующий Lazy Loading. У меня есть три класса в этом проекте: человек, личность и семья. Означает ли, что человек имеет одну личность и список семьи. Сопоставление:
<class name="Person" table="Person_Person" >
<id name="Id" type="Int64" unsaved-value="0">
<generator class="native" />
</id>
<version name="Version" />
<property name="Name" column="Name"
type="String(255)" update="true" insert="true" access="property" not-null="false" />
<one-to-one name="Identity" property-ref="Person"
class="Domain.Entities.PersonIdentity,Domain.Entities" cascade="delete" fetch="select" />
<bag name="Families" inverse="true" table="Person_Family" cascade="all-delete-orphan" >
<key column="Person_id_fk"/>
<one-to-many class="Domain.Entities.Family,Domain.Entities"/>
</bag>
</class>
Мои проблемы - обсуждение параллелизма. Первая проблема заключается в том, что:
При обновлении Person поле версии в таблице Person будет обновлено и будет иметь значение true, но
При обновлении удостоверения поле версии в таблице Person не будет обновлено и будет иметь значение false.
Почему при обновлении удостоверения поле версии в таблице Person в базе данных не обновляется?
Вторая проблема заключается в том, что:
При добавлении семейства поле версии в таблице Person будет обновлено и будет иметь значение true, и
Когда семейство удалено, поле версии в таблице Person будет обновлено и будет иметь значение true, но
При обновлении семейства поле версии в таблице Person не будет обновлено и будет иметь значение false.
Почему при обновлении семейства поле версии в таблице Person в базе данных не обновляется?