Как реализовать INotifyPropertyChanged с объектами LINQ-To-Entity - PullRequest
0 голосов
/ 25 июля 2011

Я использую модель LINQ-to-Entity, присоединенную к моей базе данных.Я могу сделать нормальное связывание, используя LINQ без проблем, пример:

Dim db As New myEntityModel
dim myCustomers As New Customers

myCustomers=db.Customers.ToList

dim myItemSource = From c in myCustomers
                   Select c   

myComboBox.ItemsSource = myItemSource

Легко!Но мой вопрос заключается в том, как мне реализовать INotifyPropertyChanged, чтобы элементы управления, с которыми я связывался, автоматически обновлялись при каждом изменении источника данных?

1 Ответ

0 голосов
/ 25 июля 2011

Ваш код не имеет большого смысла: -)

Во-первых:

dim myItemSource = From c in myCustomers
                   Select c   

Это не нужно для всех, вы можете изменить последнюю строку на эту: myComboBox.ItemsSource = myCustomers. Нет необходимости в myItemSource. Это может быть дополнительно упрощено до myComboBox.ItemsSource = db.Customers.ToList. Нет необходимости в myCustomers.

Второе:
Вы хотите, чтобы ваш комбинированный список обновлялся при изменении клиентов. Тогда почему вы не привязываетесь непосредственно к db.Customers, а к статическому списку, который никогда не изменится? db.Customers.ToList создаст моментальный снимок содержимого db.Customers. Он не будет обновляться при обновлении db.Customers.

Вывод: Ваш код должен выглядеть так:

Dim db As New myEntityModel
myComboBox.ItemsSource = db.Customers
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...