Mam następujący i szukasz bardziej skutecznych sposobów usuwania vs przelotowego ewidencji i wtedy usunięcie każdego z nich w danym momencie (uwaga przy użyciu Dbset):Entity Framework dbset najbardziej skutecznym sposobem usuwania
var wcd = dbContext.ProgramDetails.Where(p => p.Id == Id);
foreach (var wc in wcd.ToList())
{
dbContext.ProgramDetails.Remove(wc);
}
dbContext.SaveChanges();
Powiedz również, że mamy 1 rekord, który jest następujący:
var pg = dbContext.Program.Where(p => p.Id == Id && Name == FName);
Jaki jest najlepszy sposób usunięcia tego rekordu?
Próbowałem następujących ale dał błąd:
var pg = dbContext.Program.Where(p => p.Id == Id && Name == FName);
dbContext.Program.Remove(wc);
Potem uciekał się do robienia foreach do kasowania tylko jeden rekord, jak wykazałem powyżej, że nie jest to najbardziej skuteczny tylko 1 rekord.
Jeśli nie śledzić tych podmiotów i wiem identyfikatory (i masz dużo identyfikatorów), można rozważyć użycie SQL Query. W ten sposób nie musisz przenosić jednostek do kontekstu, aby je usunąć. W pewnym sensie chodzi o EF, więc musisz odpowiedzieć na pytanie, czy warto. – Pawel