使用多个外键进行级联删除
Cascading deletes with multiple foreign keys
我正在编写一个应用程序,其中我使用 Entity Framework 来处理我的数据库。
我的数据库设计如下所示:
我想使用级联删除,所以当在“客户”table中删除客户时,“租金”table中的相应行也被删除。
反之亦然,每当从“产品”table 中删除产品时,租金中的相应行也会被删除。
这可能吗?
如果是这样,Entity Framework 是否会在启用级联删除时将其设置为自动?或者我需要手动配置吗?
Is this possible?
是的。怎么样 - 以后。
If so, does Entity Framework set this up as automatedly when cascading deletes
are enabled?
没有。 SQL 服务器无法使用外键约束处理它 - 只允许一个更新/删除路径。这是一个严重的限制,但可以通过一些代码解决。
您可以使用触发器做什么。 INSTEAD OF(而不是删除,执行触发器),在触发器中可以删除两个相关表,然后删除原始数据。
EF 然后工作 - 任何删除只会触发导致删除预期数据的触发器。
我正在编写一个应用程序,其中我使用 Entity Framework 来处理我的数据库。
我的数据库设计如下所示:
我想使用级联删除,所以当在“客户”table中删除客户时,“租金”table中的相应行也被删除。
反之亦然,每当从“产品”table 中删除产品时,租金中的相应行也会被删除。
这可能吗?
如果是这样,Entity Framework 是否会在启用级联删除时将其设置为自动?或者我需要手动配置吗?
Is this possible?
是的。怎么样 - 以后。
If so, does Entity Framework set this up as automatedly when cascading deletes are enabled?
没有。 SQL 服务器无法使用外键约束处理它 - 只允许一个更新/删除路径。这是一个严重的限制,但可以通过一些代码解决。
您可以使用触发器做什么。 INSTEAD OF(而不是删除,执行触发器),在触发器中可以删除两个相关表,然后删除原始数据。
EF 然后工作 - 任何删除只会触发导致删除预期数据的触发器。