nhibernateに非常に単純な問題があります(使い始めたばかりです)
私は次のhbmマッピングファイルを持っています:
<class name="Customer" table="Customers" lazy="false">
<id name="Id" column="CustomerId">
<generator class="native">
</id>
<property name="Name" />
<property name="Picture" type="BinaryBlob" />
<bag name="Orders" cascade="all-delete-orphan" lazy="false">
<key column="CustomerId" />
<one-to-many class="Order" />
</bag>
</class>
<class name="Order" table="Orders" lazy="false">
<id name="Id" column="OrderId">
<generator class="native">
</id>
<property name="Name" />
<property name="Picture" type="BinaryBlob" />
<bag name="Products" cascade="all-delete-orphan" lazy="false"
<key column="OrderId" />
<one-to-many class="Product" />
</bag>
</class>
<class name="Product" table="Products" lazy="false">
<id name="Id" column="ProductId">
<generator class="native">
</id>
<property name="Name" />
<property name="Picture" type="BinaryBlob" />
<property name="ProductStr" />
</class>
Customerクラスには、int id、文字列名、byte []画像、およびIListofOrdersがあります。
Orderクラスには、int id、文字列名、byte []画像、および製品のIListがあります。
製品クラスには、int id、文字列名、byte []画像、文字列productstr、およびint数量(現在は使用していません)があります。
顧客テーブルには、顧客ID、名前、および画像(varbinary(max))があります。
注文には注文ID、名前、写真、顧客IDがあります
製品には、製品ID、名前、画像、productstr、および注文IDがあります。
問題:session.Delete(csCustomer)を使用して顧客を削除すると、顧客全体がデータベースから正常に削除されますが、すべての注文が削除されるわけではありません。削除された顧客のすべての注文の顧客IDフィールドにnullを入力するだけです。
誰でも私の構成に問題を見つけることができますか?nhibernateを使用して、注文クラスの顧客への参照と製品クラスの注文への参照を保存した例を見ましたが、それを修正するには何かする必要がありますか?