如果我有一个像这样的表:
StudentId | ... | SchoolId
___________|_____|__________
1 | ... | SchoolA
2 | ... | SchoolA
3 | ... | SchoolB
...
我想删除一个学校列表,从schoolA到schoolZ(使用LINQ-to-SQL):
foreach(School s in schools){
db.Schools.DeleteOnSubmit(s);
db.submitChanges();
}
由于上面的FK引用,
SchoolA
和SchoolB
将失败我如何继续并删除所有其他学校,而丢弃发生异常的学校?
最佳答案
仅包括没有学生的学校:
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/