问题标签 [cascading-deletes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 实体框架自引用实体删除
我有这样的文件夹结构:
问题是如何级联删除它们(即,当删除文件夹 2 时,所有子项也被删除)。我无法设置 ON DELETE 操作,因为 MSSQL 不允许这样做。你能给一些建议吗?
更新:我写了这个存储过程,我可以留下它还是需要一些修改?
c# - C# - 预测文件夹删除时的文件系统事件
这更像是一个关于实现这一点的最佳实践的问题。
我有一个FileSystemWatcher
应该通知我用户对文件和文件夹的更改。还监视子目录。在同一目录中,我的程序有时也会发生变化。我不想FileSystemWatcher
检测这些程序更改的事件。
我的第一个实现是一个可以添加预期事件的列表。当我收到文件系统事件时,我会检查列表,如果存在则忽略它。这听起来不是很强大,但它似乎有效。
现在我发现了真正的问题:
D: 被FileSystemWatcher
.
我有两个这样的文件夹: D:\folder1\folder2
现在我想用我的应用程序删除 folder1(其中包含 folder2)。所以我把 D:\folder1 放在我的删除列表中。然后我打电话给类似的东西Directory.Delete(@"D:\folder1", true)
。现在我注意到 folder1 不能因为异常而被删除(为什么)。我从列表中删除了删除条目,但文件夹 2 已被删除,我得到了他的 FileSystemEvent。所以我得到了 D:\folder1\folder2 的 FileSystem 事件。我的程序认为现在用户已经删除了这个文件夹并且做错了事情。
我现在有一些想法:
1.)通过删除它自己的每个文件和每个文件夹来递归删除文件夹。有了这个,我得到每个子文件夹并归档一个自己的列表条目。我已经实现了它,但它非常非常非常慢。
2.)也许有更好的方法可以FileSystemWatcher
让我的列表过时?
3.)如果可以删除所有内容,也许只能删除目录树。所以如果它失败了,我仍然拥有一切,如果不是,一切都被删除。这对我来说似乎是最优雅的解决方案,但不知道这是否可能?
4.) 是否可以通过我的软件独占锁定所有文件和文件夹?如果这一切正常,应该可以使用一个删除命令或类似的方式删除所有内容?
我也愿意接受其他额外的解决方案。
编辑 1 使其更清晰:
我只想“查看”文件夹上的用户操作。如果我在这里操作我的程序中的东西,我不想看到这些事件。
通过我的实现,如果文件夹被锁定并且无法删除,我会收到子文件夹的事件。
用英语解释并不容易,因为我不是英语母语人士;)。
编辑2:
5.) 也许可以FileSystemWatcher
从定义的流程中过滤所有事件?
objective-c - 核心数据是立即删除具有级联删除规则的对象还是保存时删除对象?
在 Core Data 模型中,实体 A 与实体 B 有关系,删除规则设置为Cascade
。对象 B 是在调用时立即删除[context deleteObject:A]
,还是 Core Data 等待 [context save:&error] 方法,就像对象验证一样?
我想知道删除 A 后是否可以创建一个对象 C,然后在上下文中搜索 B 并建立关系。这会阻止B被删除吗?
干杯,埃里克-保罗。
sql-server - 链接表上的级联删除连接 2 个表,每个表都有一个级联删除到另一个表。如何?
让我们假设以下对象是 SQL 中的表:
Companies
Employees
(指公司)Meetings
(也指公司)
员工可以参加会议,所以我们有一个链接表:
EmployeeMeetings
(即对员工和会议的 FK)
此外,我无法触摸 Companies 表(例如,对此没有触发器)。我想要的是:
- 如果公司被移除,所有员工都会被移除
- 如果公司被删除,所有会议都将被删除
- 如果员工或会议被删除,所有
EmployeeMeeting
记录都会被删除
不幸的是,我被困住了,因为这会引发可怕的“可能导致循环或多个级联路径”。鉴于限制,如何解决这个问题?我想我什至不能同时将两个 FK 都放入,否则存在删除公司后无法删除员工或会议的风险,因为 FKEmployeeMeetings
会阻止这种情况发生。正确的?
sql-server-2005 - 将“软删除”添加到现有系统
我有一个系统,其中包含很多存储过程,TableA
例如运行的函数。我们需要一种能够删除这些订单的方法,同时将它们记录在案。
我们考虑过的一个选项是在其中添加一个Delete
字段,TableA
然后通过所有的存储过程和函数添加:
我们考虑的另一个选项是创建一个视图,称为v_TableA
then 遍历并更改所有存储过程和函数以从该视图读取,而不是从表中读取。
两者都涉及大量工作,并且在将来对系统进行更改时需要记住。
我希望有更好的方法来做到这一点:
但我知道这是不可能的。任何帮助将非常感激。
sql - MS SQL“ON DELETE CASCADE”多个外键指向同一个表?
我有一个问题,我需要在指向同一个表的多个外键上进行级联..
基本上,当洞察表中的一两条记录被删除时,我也需要删除该关系..
我试过这个:
这导致级联“可能导致循环或多个级联路径”的警告
所以我尝试将级联添加到insight_id,结果是:
DELETE 语句与 REFERENCE 约束冲突
有任何想法吗?
谢谢
丹尼尔
c# - 首先使用 EF4 CTP5 代码,没有级联删除
我首先使用代码并使用以下语句关闭所有外键的级联删除:
我有两个类 Invoice 和 InvoiceLine
当我要删除发票及其所有相关发票行时会出现问题以下代码有效:
但是当我在 for 循环中删除 SaveChanges 操作时,它不起作用。
为什么我必须执行中间 SaveChanges ? *为什么我必须为 invoicelines 调用 DeleteObject 方法而不是 remove 方法?*
entity-framework-4 - 实体框架:使用 CodeFirst 设置删除规则
我正在使用 EF4 CTP 5,CodeFirst。
请先看我的课:
我的目标是为客户语言关系设置一定的“删除规则”。当一种语言被删除时,我不想删除相应的客人(所以没有级联删除)。相反,我希望客人的 LanguageID 为“Set NULL”。
我希望流畅的 API 在这里支持我。但是除了 .WillCascadeOnDelete(bool) 之外,我找不到任何有用的东西,它没有提供我需要的选项。我错过了什么吗?或者这只是没有在 CTP 5 中实现?
谢谢你的帮助!
ruby-on-rails - Rails:删除用户而不丢失关联(或其他让用户离开的方法)
我有一个 Rails 应用程序,可以让用户创建各种“判断”,一切都有点交织,我们有几个类连接到 User 类。
当我让用户“销毁”他们的帐户时,显然他们所拥有的关联会给我一个nil
对象。因此,例如,当我遍历所有判断时,如果该特定用户删除(销毁)他们的帐户,我将无法获得创建判断的用户。
- 对于这种情况,Rails 中的最佳实践是什么?
- 是否可以将用户标记为不活动但仍保留其帐户?
- 我可以删除用户帐户并替换其他类中的相关信息吗?
symfony1 - symfony 1.4 链接相关表的 preDelete 事件
有没有办法在 Symfony 1.4 中链接 preDelete() 事件?
我有两张桌子:一张主人和一张奴隶。在 schema.yml 中,我定义了它们,以便在删除主记录时从属记录 CASCADE 删除。
而且,从属删除过程需要运行一些预处理,我打算在从属记录定义的 preDelete 事件方法中进行编码。
如果我单独删除从属记录,我可以得到这个 preDelete() 事件,但如果我通过主记录删除从属记录,我只能访问主记录定义中的 preDelete() 事件。我可以通过master的方式访问slave中的preDelete事件吗?
相关代码如下:
架构.yml
lib/model/doctrine/Master.class.php
lib/model/doctrine/Slave.class.php