实体框架删除了一些记录
using (Galway__Entities db = new Galway__Entities())
{
DateTime RemovableDate = new DateTime();
List<PROJ_ACCS_StockControl_DeletedPLURecord> DeletedPLURecords = db.PROJ_ACCS_StockControl_DeletedPLURecord.Where(x => x.TimeStamp <= RemovableDate).ToList();
db.??????
//so I delete the list all at once or use a foreach and run round each record?
//how do I delete each singular record if this is the case then.
}
答案 0 :(得分:2)
您可以使用:
DeletedPLURecords.ForEach(element => db.PROJ_ACCS_StockControl_DeletedPLURecord.Remove(element));
db.SaveChanges();
答案 1 :(得分:1)
试试这个:
using (Galway__Entities db = new Galway__Entities())
{
DateTime RemovableDate = new DateTime();
List<PROJ_ACCS_StockControl_DeletedPLURecord> DeletedPLURecords = db.PROJ_ACCS_StockControl_DeletedPLURecord.Where(x => x.TimeStamp <= RemovableDate).ToList();
foreach (var item in DeletedPLURecords)
{
var e = db.PROJ_ACCS_StockControl_DeletedPLURecord.Find(item.Id);
if (e != null)
{
Db.PROJ_ACCS_StockControl_DeletedPLURecord.Remove(e);
}
}
db.SaveChanges();
}
答案 2 :(得分:0)
目前要删除您需要先在内存中获取记录的多条记录,然后将其删除。 另一种解决方案是,您可以使用EntityFramework.Extended库将其作为单个请求进程。像
....
db.PROJ_ACCS_StockControl_DeletedPLURecord.Where(x => x.TimeStamp <= RemovableDate).Delete();