1

我有一个 Customers 表、一个 Sports 表和 Customers_Sports 连接表。最后一张表告诉我哪些客户玩什么运动,即包含其他两张表的外键。

强制外键约束,外键不能为空。

使用 LINQ,是否有一种简单的方法可以删除客户并同时删除连接表中引用该客户的所有记录?

我可以做到这一点,即先从连接表中删除相关记录,然后从客户中删除客户的记录。

4

1 回答 1

0

简单是真正的踢球者。 没有一种自动的方法可以做到这一点。 您基本上无法从 Customer_Sports 表中删除与给定客户匹配的所有内容,然后自己删除客户。我相信如果您在执行之前删除两者,您不SubmitChanges()应该遇到任何外键约束违规。

如果你想变得非常花哨,你可以使用反射来创建一个通用函数,只要有一种外键,比如Linq 到 SQL 级联删除和反射,就可以做到这一点。

为您设置数据库来执行此操作可能不会容易出错。性能可能也更好,但除非您知道自己有性能问题,否则您不应该担心性能。

于 2012-07-12T05:39:07.307 回答