J'utilise d'abord la base de données EntityFramework dans une application. J'aimerais d'une manière ou d'une autre être notifié des modifications apportées à une base de données EntityFramework. EntityCollection
dans mon ViewModel. Il ne supporte pas directement INotifyCollectionChanged
(pourquoi ?) et je n'ai pas réussi à trouver une autre solution.
Voici ma dernière tentative, qui ne fonctionne pas parce que le bouton ListChanged
L'événement ne semble pas être levé :
public class EntityCollectionObserver<T> : ObservableCollection<T>, INotifyCollectionChanged where T : class
{
public event NotifyCollectionChangedEventHandler CollectionChanged;
public EntityCollectionObserver(EntityCollection<T> entityCollection)
: base(entityCollection)
{
IBindingList l = ((IBindingList)((IListSource)entityCollection).GetList());
l.ListChanged += new ListChangedEventHandler(OnInnerListChanged);
}
private void OnInnerListChanged(object sender, ListChangedEventArgs e)
{
if (CollectionChanged != null)
CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
}
}
Quelqu'un a-t-il une idée de la manière dont je pourrais observer les changements apportés à un système de gestion de l'eau ? EntityCollection
?
Dan