Это зависит от того, что именно вы подразумеваете под этим:
нам нужно отслеживать все изменения в каждом списке BaseEntity
Достаточно ли будет отслеживать изменения объектов, уже находящихся в списке? Или вам нужно знать, когда объекты удаляются из / добавляются / меняются позиции в списке?
Если список будет содержать одни и те же элементы в течение всего времени их жизни, но отдельные объекты в этом списке будут меняться, то достаточно, чтобы только объекты вызывали уведомления об изменениях (обычно через INotifyPropertyChanged
), и достаточно List<T>
, Но если список будет время от времени содержать разные объекты, или если порядок меняется, то вам следует использовать ObservableCollection<T>
.
Так что, хотя различия могут быть интересными (и предыдущий плакат уже охватывал их), как правило, у вас не будет такого большого выбора - либо вам нужен ObservableCollection<T>
, либо нет.