У меня есть отношения между родителями и детьми.
Моя проблема в том, что когда я получаю доступ к дочернему объекту и затем сбрасываю сеанс, NHibernate автоматически ОБНОВЛЯЕТ дочерние объекты с теми же значениями (без различий).
Это выдаст обновление ребенка:
Response.Write(Profile.ProfilePicture.Filename);
_session.Flush();
Кто-нибудь может понять, почему это происходит? Я, конечно, не хочу обновлять ребенка в этом сценарии.
Вот мое отображение спящего режима:
Родитель:
<class name="Business.Domain.Profile, Business" table="Profiles">
<id name="Id" type="int">
<generator class="native" />
</id>
<property name="Username" type="string" length="100" />
<property name="Password" type="string" length="200" />
<property name="Email" type="string" length="150" />
<property name="CreatedDate" generated="insert" />
<property name="LastLoginDate" />
<property name="LastActivityDate" />
<property name="Firstname" type="string" length="50" />
<property name="Lastname" type="string" length="50" />
<property name="Fullname" formula="Firstname + ' ' + Lastname" />
<property name="Gender" not-null="true" type="int" />
<property name="Description" not-null="false" type="string" />
<many-to-one
name="ProfilePicture"
column="ProfilePictureId"
class="Business.Domain.Picture, Business" />
<set name="Pictures" generic="true" inverse="true" cascade="all-delete-orphan">
<key column="ProfileId" />
<one-to-many class="Business.Domain.Picture, Business"/>
</set>
</class>
Ребенок:
<class name="Business.Domain.Picture, Avando.Business" table="Pictures">
<id name="Id" type="int">
<generator class="native" />
</id>
<property name="Filename" type="string" />
<property name="CreatedDate" type="DateTime" generated="insert" />
<many-to-one
name="Profile"
column="ProfileId"
class="Business.Domain.Profile, Business"
not-null="true" />
</class>