【发布时间】:2010-11-09 20:02:46
【问题描述】:
我有这个专栏,
id int primary key,
code int not null
我想删除代码等于 a 中的一项的所有项,
IEnumerable<int> someEnumerable
一种可能的方法是使用迭代。但我想在没有显式迭代(for,foreach)的情况下做到这一点。另一种方法是这样做:
var result = db.table.Where(a => someEnumerable.Contains(a.code));
db.table.DeleteAllOnSubmit(result);
db.SubmitChanges();
但对我来说,它会导致:
System.Data.Linq.dll 中出现“System.StackOverflowException”类型的未处理异常
【问题讨论】:
-
2 个问题:哪一行代码导致 StackOverflowException? someEnumerable 是内存中的序列,还是来自数据库的序列?
标签: c# .net linq linq-to-sql collections