草庐IT

OnDelete

全部标签

c# - 使用 EF Core 级联删除

我目前在使用EFCore时遇到了一些问题。我有一些数据需要删除,我正在努力查看FluentAPI的工作原理,正是关于.OnDelete()的。功能。考虑来自microsoftsownwebsites的经典博客/帖子场景,我想知道什么实体,正是OnDelete()是“目标”(因为缺少更好的词)在某些情况下,它似乎是博客,在其他情况下,是帖子。是否可以从两侧定义级联删除(当父博客删除时删除帖子)如果是这样我想代码应该是这样的:model.Entity().HasOne(p=>p.Blog).WithMany(b=>b.Posts).HasForeignKey(p=>p.BlogId).On

java - JPA的cascade=REMOVE和Hibernate的@OnDelete一起用?

我继承了一个代码库,几乎所有关系都有以下注释:@OneToMany(fetch=FetchType.LAZY,cascade={CascadeType.REMOVE},mappedBy="someThing")@OnDelete(action=OnDeleteAction.CASCADE)现在我很难理解@OnDelete首先做了什么。Hibernate:OnDeletevscascade=CascadeType.REMOVE很有趣,但遗憾的是没有任何答案,@OnDelete的JavaDoc特别毫无值(value)。从其他问题来看,OnDelete注释似乎让DB以某种方式进行级联,而@O

php - orphanRemoval 会绕过 onDelete 吗?

假设我们有两个实体(Profile和Address)。一个配置文件可以有多个地址。在这种情况下,我们有:Profile:...fields:...oneToMany:addresses:targetEntity:AddressmappedBy:profileorphanRemoval:trueAddress:...fields:...manyToOne:profile:targetEntity:ProfileinversedBy:addressesjoinColumn:name:profile_idreferencedColumnName:idonDelete:cascade现在,如果

php - Symfony2 - 数据库级别 onDelete Cascade 不会触发生命周期事件

我有两个实体(针对这个问题进行了简化):文件夹:classFolder{/***@varArrayCollection*@ORM\OneToMany(targetEntity="File",mappedBy="folder")**/private$files;}文件:classFile{/***@varFolder*@ORM\ManyToOne(targetEntity="Folder",inversedBy="files")*@ORM\JoinColumn(onDelete="CASCADE")**/private$folder;}我正在使用数据库级级联来管理实体级联。我已经创建了一

mysql - onDelete() 在 laravel 中无法正常工作

我搜索了这个问题,找到了一个解决方案,就是更改存储引擎=InnoDB,但我随后的child的行仍然没有被删除。我的模型层次结构是......Board->Task->Card->[comments,files,labels];如果我删除任务,那么与该任务关联的所有卡片都应该被删除,但在我的情况下,它不会发生。这里我给你一个Card的示例模型......if(!Schema::hasTable('cards')){Schema::create('cards',function(Blueprint$table){$table->increments('id');$table->intege

php - Laravel 迁移 : Remove onDelete ('cascade' ) from existing foreign key

我创建了一个这样的迁移://...$table->foreign('a')->references('b')->on('c')->onDelete('cascade');//...我想在新迁移中删除onDelete('cascade')而不破坏任何东西。我该怎么做? 最佳答案 你可以尝试删除旧的外键并添加然后添加一个新的没有onDelete:$table->dropForeign(['a']);$table->foreign('a')->references('b')->on('c');

java - Hibernate OnDelete Cascade 不适用于 MySql 但适用于 postgres 和 Ms-Sql

我有2个实体。Thread实体和Post实体使用来自Post->Thread的OnetoOne映射。Thread实体包含许多Posts。我知道我应该使用OnetoMany而不是OnetoOne,但是为了避免所有的集合问题,我使用了OnetoOne现在的问题是,当我删除一个Thread时,所有与之关联的post也必须被删除。我通过使用成功地做到了@OnDelete(action=OnDeleteAction.CASCADE)但它只适用于Postgres和Ms-SQl,不适用于MySql(也尝试过InnoDb)。ondelete级联不是在架构生成查询中生成的。代码如下//ThreadEnt

php - onDelete ('cascade' ) 是什么意思?

Schema::table('posts',function(Blueprint$table){$table->integer('user_id')->unsigned();$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');});这是否意味着如果我删除一个帖子,该用户也将被删除,或者这是否意味着如果我删除一个用户,他们的所有帖子都将被删除? 最佳答案 简短的回答是:在你的情况下,如果你删除了一个user,所有与他相关的帖子也将

php - onDelete ('cascade' ) 是什么意思?

Schema::table('posts',function(Blueprint$table){$table->integer('user_id')->unsigned();$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');});这是否意味着如果我删除一个帖子,该用户也将被删除,或者这是否意味着如果我删除一个用户,他们的所有帖子都将被删除? 最佳答案 简短的回答是:在你的情况下,如果你删除了一个user,所有与他相关的帖子也将

php - 究竟如何使用 onDelete = "SET NULL"- Doctrine2

我有一个类Category包含以下内容:/***@ORM\OneToMany(targetEntity="Friend",mappedBy="category")*@ORM\OrderBy({"name"="ASC"})*/protected$friends;和一个类(class)的friend:/***@ORM\ManyToOne(targetEntity="Category",inversedBy="friends")*@ORM\JoinColumn(name="category_id",referencedColumnName="id",onDelete="SETNULL")*/
12