Ho problemi con gli oggetti di aggiornamento nel mio database. Ho due PC e due applicazioni.Entity Framework: aggiorna gli oggetti dal database
Sul primo PC, c'è un'applicazione che comunica con il mio database e aggiunge alcuni dati alla tabella delle misure. Sul mio altro PC, c'è un'applicazione che recupera le ultime misurazioni con un timer, quindi dovrebbe ritirare le misurazioni aggiunte dall'applicazione anche sul mio primo PC.
Il problema è che non è così. All'avvio dell'applicazione, memorizza nella cache tutti i dati dal database e non ottiene mai nuovi dati aggiunti. Uso il metodo Refresh() che funziona bene quando cambio uno qualsiasi dei dati memorizzati nella cache, ma non aggiorna i nuovi dati aggiunti.
Ecco il mio metodo che dovrebbe aggiornare i dati:
public static Entities myEntities = new Entities();
public static Measurement GetLastMeasurement(int conditionId)
{
myEntities.Refresh(RefreshMode.StoreWins, myEntities.Measurements);
return (from measurement in myEntities.Measurements
where measurement.ConditionId == conditionId
select measurement).OrderByDescending(cd => cd.Timestamp).First();
}
P.S. Le applicazioni hanno stringhe di connessione differenti in app.config (diversi account per lo stesso DB).
È possibile controllare la mia risposta qui http://stackoverflow.com/questions/1746941/objectcontext-refresh –