Почему нужно создавать заметные коллекции - PullRequest
0 голосов
/ 03 сентября 2010

Я смотрю этот учебник.около 15:40 докладчик сказал, что что-то вроде запроса LINQ не создаст богатую коллекцию, такую ​​как BindingListCollectionView.я думаю, может быть, это означает, что изменения не будут сохранены в базе данных или что-то.поэтому я попытался заменить

var result = database.Customers.Execute(System.Data.Objects.MergeOption.AppendOnly);

на

var result = from cust in database.Customers
             where cust.City == "Seattle"
             select cust;

и все по-прежнему работает нормально.

Ответы [ 2 ]

9 голосов
/ 03 сентября 2010

ObservableCollection имеет событие, которое вызывается при изменении их содержимого, поэтому ListView, ComboBox и т. Д. Могут оставаться в синхронизации с вашими данными при их изменении.Если содержимое списка никогда не изменится, тогда наличие ObservableCollection не является необходимым.

0 голосов
/ 04 сентября 2010

Иногда вы не можете использовать ObservableCollection, поскольку у вас уже есть собственные классы коллекций, к которым вы хотите привязаться.В этой ситуации вы можете реализовать интерфейсы ICollectionChanged и IPropertyChanged в своей пользовательской коллекции.

Ваша пользовательская коллекция будет работать как ObservableCollection (или, по крайней мере, в той степени, в которой реализация в вашей коллекции).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...