Как обычно в таких случаях, если вы не хотите повторно запрашивать базу данных, а работаете с объектами, привязанными к контексту, вы можете использовать ObjectStateManager:
var attachedEntities = context.
ObjectStateManager.
GetObjectStateEntries(EntityState.Added |
EntityState.Deleted |
EntityState.Modified |
EntityState.Unchanged).
Where(ent => ent.Entity is BatchProgress).
Select(ent => ent.Entity as BatchProgress).
ToList();
foreach (var attachedEntity in attachedEntities)
{
context.ObjectStateManager.ChangeObjectState(attachedEntity, EntityState.Detached);
}
Установка ObjectState вEntityState.Detached удаляет сущность из коллекции.Вы можете проверить, выбрав attachEntities снова в конце - их не будет.