Для моей конкретной ситуации, я считаю, лучше всего подходит это (Ваш пробег может меняться):
Используйте PagedCollectionView (PCV) в качестве оболочки вокруг context.EntityNamePlural (в моем случае context.ParentObjects), который является EntitySet. (Использование loadOperation.Entities не работает для меня, потому что оно всегда доступно только для чтения.)
_pagedCollectionView = new PagedCollectionView(context.ParentObjects);
Затем выполните привязку к PCV, но выполните добавление / удаление непосредственно в контексте. EntityNamePlural EntitySet. PCV автоматически синхронизируется с изменениями, внесенными в базовый EntitySet, поэтому этот подход означает, что мне не нужно беспокоиться о проблемах синхронизации.
context.ParentObjects.Add();
(Причиной выполнения добавления / удаления непосредственно для EntitySet вместо использования PCV является то, что реализация IEditableCollectionView в PCV несовместима с EntitySet, в результате чего IEditableCollectionView.CanAddNew становится «ложным», хотя базовый EntitySet поддерживает эту функцию.) 1009 *
Я думаю, что подход Кайла Макклеллана (см. Его ответ) может быть предпочтительным для некоторых, потому что он инкапсулирует изменения в EntitySet, но я обнаружил, что для моих целей было необязательно добавлять оболочку ObservableCollection вокруг loadOperation.Entities.
Большое спасибо Далласу Кинзелю за его советы по пути!