LINQ-to-SQL类中的级联删除/更新

时间:2009-06-12 06:43:04

标签: sql database linq-to-sql stored-procedures

我不是永久删除记录(只是维护标志)但我想知道LINQ-to-SQL类中级联删除/更新是如何工作的。

修改

如果我有类似的情况,例如维护标记以删除选项。如何实现数据库的级联删除

2 个答案:

答案 0 :(得分:2)

数据库级删除不是一个完美的解决方案,在这种情况下,DataContext对已经删除对象这一事实一无所知。 更好的方法是使用关联标志来处理应用程序级别的情况,例如[Association(... DeleteRule =“cascade”...)]。

答案 1 :(得分:0)

你有2种方式,我知道,因为它

  1. a)你应该在数据层中定义约束( 如果存在FK约束,则在级联上发出删除或在级联上更新 b)使用CTE编写存储过程或函数或触发器,并在您的应用层使用它
  2. 在app层中控制并编写你的功能 但我的建议是在数据层上制作