Mam strukturę obiektu EntityCollection
.Jak usunąć podzbiór elementów z kolekcji Entity Framework
Należy usunąć z bazy danych wszystkie elementy pasujące do podanej klauzuli where. To jest mój istniejącego kodu:
// Perform the deletes
foreach (var deleteReq in order.Requirements.Where(x=>!orderContract.Requirements.Any(y=>y.RequirementId==x.RequirementId)))
{
order.Requirements.Remove(deleteReq);
}
Zasadniczo próbuję wyjąć coś z kolekcji order.Requirements którego nie ma w kolekcji orderContract.Requirements (pasująca na Id).
Jak można się domyślić, ten kod rzuca i robi wyjątek, ponieważ modyfikuję kolekcję, którą powtarzam.
Normalnie chciałbym użyć tylko RemoveAll()
, ale EntityCollection
nie obsługuje tej metody.
Więc ... Jak mogę usunąć wszystkie potrzebne rekordy?
Dlaczego nie można zbierać wymiennych elementów na liście? rozmiar kolekcji jest duży? –