我正在写一个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
用红色加下划线。你如何编写这样的查询以使其有效?
感谢您的帮助。
答案 0 :(得分:3)
由于查询可能会返回多条记录,您可能需要调用DeleteAllOnSubmit
var records = from a in MyDC.TheTable
where TheRecordIDs.Contains(a.RecordID)
select a;
MyDC.TheTables.DeleteAllOnSubmit(records);
MyDc.SubmitChanges();