NHibernateの実装とLazy Loadingを使用したプロジェクトがあります。私はこのプロジェクトに3つの授業を持っています:人、アイデンティティと家族。人が一つのアイデンティティと家族のリストを持っているということです。マッピングは次のとおりです。NHibernateにおける同時実行の実装
<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になりますが、 Identityが更新されると、Personテーブルのバージョンフィールドは更新されずfalseになります。 Identityの更新、データベースのPersonテーブルのバージョンフィールドが更新されないのはなぜですか?家族が追加されると は、Personテーブル内のバージョンフィールドが更新され、trueで、家族が削除されると は、Personテーブル内のバージョンフィールドが更新され、真である、しかし :
第二の問題は、ということですファミリが更新されると、Personテーブルのバージョンフィールドは更新されず、falseになります。 データベース内の個人テーブルのファミリ更新、バージョンフィールドが更新されないのはなぜですか?
家族が常に更新されることは注目に値します。 家族だけでは更新されません。人は常に更新されますか? – Ehsan
'family.Person.Version = family.Person.Version + 1;'すべてのプロパティでおそらく。私はそれについて考えなければならない – Firo
ありがとう。私の問題はこのトリックで解決されました。もちろん、バージョンの新しい価値は重要ではなく、Personの1つのフィールドで重要な変更だけです。 – Ehsan