繁体   English   中英

级联删除不起作用(NHibernate)

[英]Cascade delete is not working (NHibernate)

我有主从表,我想要级联删除更新,这意味着当我从客户删除记录时,它应该自动删除与该客户相关的订单。

这是表的定义:

客户表:

  <class name = "Customer">

    <id name="ID" column="ID" type="string">
      <generator class="assigned" />
    </id>

    <property name = "FirstName"/>
    <property name = "LastName"/>
    <property name = "AverageRating"/>
    <property name = "Points"/>
    <property name = "HasGoldStatus"/>
    <property name = "MemberSince" type = "DateTime"/>

    <bag name="Orders" inverse="true" cascade="all-delete-orphan" >
      <key column="CustomerId"/>
      <one-to-many class="Orders"/>
    </bag>   
    
  </class>
</hibernate-mapping>

订单表:

<?xml version = "1.0" encoding = "utf-8" ?>

<hibernate-mapping xmlns = "urn:nhibernate-mapping-2.2"
   assembly = "NHibernate_example_1" namespace = "NHibernate_example_1.Models">

  <class name = "Orders">        
    <id name = "ID">
      <generator class = "native"/>
    </id>

    <property name = "Ordered"/>
    <property name = "Shipped"/>

    <many-to-one name="Customer" column="CustomerId" class="Customer" />
  </class>

</hibernate-mapping>

但是在创建表后 FK 有这个属性:

CONSTRAINT FK_E4664020 FOREIGN KEY ( CustomerId ) REFERENCES customer ( ID ) ON UPDATE RESTRICT ON DELETE RESTRICT

如何设置ON UPDATE CASADE ON DELETE CASCADE

我正在使用 MySQL 和 nHibernate 5.3.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM