[英]Entity Framework remove a number of records
Entity Framework delete a number of records 实体框架删除一些记录
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.
}
You could use: 您可以使用:
DeletedPLURecords.ForEach(element => db.PROJ_ACCS_StockControl_DeletedPLURecord.Remove(element));
db.SaveChanges();
Try this: 尝试这个:
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();
}
currently to remove multiple records you need to first get records in memory then remove them. 当前要删除多个记录,您需要先将记录保存到内存中,然后再删除它们。 another solution is that you can use EntityFramework.Extended library to make this a single request process. 另一个解决方案是您可以使用EntityFramework.Extended库将其设为单个请求过程。 like 喜欢
....
db.PROJ_ACCS_StockControl_DeletedPLURecord.Where(x => x.TimeStamp <= RemovableDate).Delete();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.