ObservableCollection, основанная на ассоциации EF, не обновляется? - PullRequest
1 голос
/ 26 июля 2011

Вот очень упрощенная версия моего кода:

Создание коллекции с использованием коллекции из контекста Entity Framework:

db = new MainEntities();
ObservableCollection<Master> masters = new ObservableCollection<Master>(db.Masters);
ObservableCollection<Detail> details = new ObservableCollection<Detail>(db.Details);

Позже:

m = new Master(); //create master record
d = new Detail(); //create detail record
m.Details.Add(d); //attach the detail to the master entityobject
masters.Add(m); //add to the ObservableCollection
db.SaveChanges();

Это правильно устанавливает новую основную запись в db.Masters;новая мастер-запись в коллекции мастеров ObservableCollection;Подробная запись в db.Details;но не подробные записи в ObservableCollection 'details'?

Я думал, что ObservableCollection будет уведомлен об этих новых записях?

1 Ответ

1 голос
/ 26 июля 2011

Подключите событие к CollectionChanged, тогда вам нужно будет увидеть, была ли добавлена ​​деталь, если она есть, тогда вам нужно будет обновить коллекцию деталей самостоятельно.

Обновление:

masters.CollectionChanged += new NotifyCollectionChangedEventHandler(records_CollectionChanged);

void records_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
//e.NewItems will be an IList of all the items that were added
//You will add then find the new details and add to details collection.
} 
...