我正在编写一个linq-to-sql查询以删除记录列表:我传入一个RecordID列表,并且希望删除相应的记录。
这是我到目前为止的内容:
public void DeleteMyRecords(List<long> TheRecordIDs)
{
using (TheDC MyDC = new TheDC()) //TheDC is the DataContext
{
MyDC.DeleteOnSubmit(from a in MyDC.TheTable
where TheRecordIDs.Contains(a.RecordID)
select a).SubmitChanges();
}
}
现在,我看到
DeleteOnSubmit
用红色下划线。您如何编写这样的查询以使其起作用?谢谢你的帮助。
最佳答案
由于查询可能返回多个记录,因此您可能需要调用DeleteAllOnSubmit
var records = from a in MyDC.TheTable
where TheRecordIDs.Contains(a.RecordID)
select a;
MyDC.TheTables.DeleteAllOnSubmit(records);
MyDc.SubmitChanges();