私がやろうとしていることは本当に非常に単純ですが、NHibernateで正しくマッピングを行うことができないようです。
親オブジェクトと子オブジェクトを含むデータベースに取り組んでいます。子オブジェクトには、データ型Guidの親の主キーへの外部キー参照があります。いずれにせよ、かなり正常です。これで、データベースは外部キーフィールドがnullにならないように設定されているため、親がない孤立したオブジェクトの場合、外部キーは空のGUID( '00000000-0000-0000-0000-000000000000)である必要があります。 ')。
私がNhibernateをセットアップする方法は長い間うまく機能してきましたが、最近、関係を双方向にし、問題が発生し始めました。明らかに、NHibernateは親がnullであることを認識し、nullを外部キーフィールドに保存しようとしますが、それは許可されていません。
私が使用しているリレーションシップマッピングの構造の例を以下に示します。
親側のマッピング:
<id name="ID" column="ID">
<generator class="guid" />
</id>
<bag name="Children" table="Children" lazy="false" cascade="all" inverse="true">
<key column="FK_OwnerID" not-null="true"/>
<one-to-many class="Childclass"/>
</bag>
子側のマッピング:
<many-to-one name="Owner" column="FK_OwnerID" not-found="ignore" not-null="false" class="OwnerClass"/>
私はさまざまなプロパティを試してきましたが、役に立ちませんでした。insert="false"およびupdate="false"プロパティを使用する必要がありますか?使用する場合、関係を正確に維持するにはどうすればよいですか?
助けてくれてありがとう。