我有以下並尋找刪除VS通過記錄循環的一種更有效的方式,然後刪除每一次一個(使用Dbset注):實體框架dbset刪除的最有效的方式
var wcd = dbContext.ProgramDetails.Where(p => p.Id == Id);
foreach (var wc in wcd.ToList())
{
dbContext.ProgramDetails.Remove(wc);
}
dbContext.SaveChanges();
另請說明我們是否有1條記錄如下:
var pg = dbContext.Program.Where(p => p.Id == Id && Name == FName);
刪除這一條記錄的最佳方法是什麼?
試過以下,但給了一個錯誤:
var pg = dbContext.Program.Where(p => p.Id == Id && Name == FName);
dbContext.Program.Remove(wc);
於是我使出做一個foreach刪除一條記錄如我上面所顯示的並不是最有效的僅1記錄。
如果不跟蹤這些實體和知道的ID(和你有很多的ID),你可以考慮使用一個SQL查詢。通過這種方式,您不需要將實體帶入您的上下文中即可刪除它們。這是一種EF左右,所以你需要回答這個問題是否值得。 – Pawel