如果我有一个像这样的表:
StudentId | ... | SchoolId
___________|_____|__________
1 | ... | SchoolA
2 | ... | SchoolA
3 | ... | SchoolB
...
我想删除从 schoolA 到 schoolZ 的学校列表(使用 LINQ-to-SQL):
foreach(School s in schools){
db.Schools.DeleteOnSubmit(s);
db.submitChanges();
}
SchoolA
和 SchoolB
将因上述 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/