Stavo usando il seguente codice per ripopolare ObservableCollection<T>
sulla notifica di modifica da SqlDependency
:
var set = _dbContext.Set<T>().ToList();
this.AddRange(set);
In questo scenario, l'evento OnChange
correttamente, ma l'elenco viene ripopolato con gli stessi contenuti di prima. Ora sto usando il secondo DbContext seguente per popolare l'elenco come segue, e ora l'elenco è sempre aggiornato dopo una modifica:
using (var dbContext = new XTimeDbContext())
{
var set = dbContext.Set<T>().ToList();
this.AddRange(set);
}
L'unica differenza che posso immaginare è che i risultati della query del primo metodo sono memorizzati nella cache. Se è così, come posso impedirlo? In caso contrario, perché l'elenco non è aggiornato correttamente?