To receive notification from the database when the contents of the table change / update, you can use TableDependency
.
The difference with .NET SqlDependency
is that TableDependency
raises events that contain database table values ββthat have been changed / deleted / inserted.
Using SqlDependency
, you must make a choice to receive fresh data at any time. SqlDependency
notify your code that something has changed in the database table.
With TableDependency
you can avoid this because the event you receive contains all deleted / inserted / changed values:
string conString = "data source=.;initial catalog=myDB;integrated security=True"; using(var tableDependency = new SqlTableDependency<Customers>(conString)) { tableDependency.OnChanged += TableDependency_Changed; tableDependency.Start(); Console.WriteLine("Waiting for receiving notifications..."); Console.WriteLine("Press a key to stop"); Console.ReadKey(); } ... ... void TableDependency_Changed(object sender, RecordChangedEventArgs<Customers> e) { if (e.ChangeType != ChangeType.None) { var changedEntity = e.Entity; Console.WriteLine("DML operation: " + e.ChangeType); Console.WriteLine("ID: " + changedEntity.Id); Console.WriteLine("Name: " + changedEntity.Name); Console.WriteLine("Surname: " + changedEntity.Surname); } }
source share