Ciao a tutti,
premetto che non sono certo di aver postato nel forum corretto, per cui nel caso, chiedo ai moderatori di spostarlo nel punto giusto.
Ad ogni modo, ho un sito web che legge alcuni dati dal db tramite una select, e su questa select ho attivato la SqlDependency
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(dependecy_OnChange);
void dependecy_OnChange(object sender, SqlNotificationEventArgs e)
{
if (e.Type == SqlNotificationType.Change && e.Source == SqlNotificationSource.Data && e.Info == SqlNotificationInfo.Update)
{
// aggiornato dato nel db => devo aggiornalo in cache
SqlDependency dependecy = sender as SqlDependency;
}
if (e.Type == SqlNotificationType.Change && e.Source == SqlNotificationSource.Data && e.Info == SqlNotificationInfo.Delete)
{
// eliminato dato nel DB => devo eliminarlo anche nella cache
}
if (e.Type == SqlNotificationType.Change && e.Source == SqlNotificationSource.Data && e.Info == SqlNotificationInfo.Insert)
{
// aggiungo dato nel DB => devo aggiungerlo in cache
}
}
La mia domanda è la seguente, come faccio, se è possibile, all'interno del metodo dependecy_OnChange, a capire esattamente quale dato è stato aggiunto, modificato o cancellato? Cioè, è possibile risalire all'id del dato in questione?
Grazie
Sergio