.net - Linq to sql - 删除,如果失败则继续

标签 .net linq-to-sql continue

如果我有一个像这样的表:

StudentId  | ... | SchoolId
___________|_____|__________ 
1          | ... | SchoolA
2          | ... | SchoolA
3          | ... | SchoolB
...

我想删除从 schoolA 到 schoolZ 的学校列表(使用 LINQ-to-SQL):

foreach(School s in schools){
    db.Schools.DeleteOnSubmit(s);
    db.submitChanges();
}

SchoolASchoolB 将因上述 FK 引用而失败

如何继续并删除所有其他学校,并丢弃发生异常的学校?

最佳答案

仅包括没有学生的学校:

var schoolsToDelete = schools.Where(x => !x.Students.Any());
db.Schools.DeleteAllOnSubmit(schoolsToDelete); 
db.submitChanges();

关于.net - Linq to sql - 删除,如果失败则继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7245057/

相关文章:

Javascript 遍历元素不起作用

.net - 组件架构和 DI 容器的使用?

c# - .Net 将 Windows 窗体导出为 PDF

Java 继续标签已弃用?

C# - while 循环内的 foreach 循环 - 中断 foreach 并立即继续 while 循环?

.net - 单声道中的浮点不一致

c# - LINQ to SQL - 自定义属性

c# - 使用 LinqPad 将字符串转换为 Guid

c# - 从 C# 中的 LINQ 中提取 SQL 列扩展属性

bash - 如何在此 bash 脚本中编写等待并继续的程序