I used this tutorial to setup database syncing:
Basically the way it works is bind a notification to a query, run the query. Then when a change is made, the SQLDependency is disposed of, a new SQLDependency is created (apparently because a notification expires after one trigger is sent), then the query has to rerun.
This seems rather inefficient because if you have a 100,000 rows, and one row is changed, then you end up receiving all 100,000 rows again, rather than the one row that changed. Furthermore, to change data displayed (unless you want to rebuild the list view which doesn't look clean) you need to walk through your new data to find the differences and update them manually. I am setting up an updated datetime column so that I could walk through the new table quicker and skip rows with old timestamps. Still not ideal...
There must be a better way to go about this, right?