2

我正在编写一个 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红色下划线。您如何编写这样的查询以使其正常工作?

谢谢你的帮助。

4

1 回答 1

3

由于查询可能返回多于一条记录,您可能需要调用DeleteAllOnSubmit

var records = from a in MyDC.TheTable
                           where TheRecordIDs.Contains(a.RecordID)
                           select a;

MyDC.TheTables.DeleteAllOnSubmit(records); 
MyDc.SubmitChanges();
于 2012-09-27T16:30:39.673 回答