[英]How to delete 1000 records based upon created date ascending using Entity Framework?
我需要根據創建日期從表中刪除最后1000條記錄,然后從其他表中插入新的1000條記錄。
最好的方法是什么?
public void mymethod()
{
// TestBasketRequests (delete thousands records from here)
// Call Delete();
}
public void Delete(IList<TestBasketRequest> TestBasketRequests)
{
using (var dbContext = new myContext())
{
dbContext.Entry(TestBasketRequests).State = EntityState.Deleted;
dbContext.SaveChanges();
}
}
的
RemoveRange()
方法用於從數據庫中刪除多個項目。 在方法中,您必須使用來獲取最近的1000個項目
TakeLast()
將僅根據最后一項添加到數據庫中的順序返回最后一項。
在您的mymethod()內部,您必須編寫如下內容
var lastN = MyDbContext.MyDbSet
.OrderByDescending(g => g.CreateDate)
.Take(1000);
MyDbContext.MyDbSet.RemoveRange(lastN);
我沒有測試此代碼。您可以根據需要進行更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.