En ny tabell skapas i din databas som innehåller namnet på tabellen du vill kontrollera om det finns uppdateringar på, och ett ändringsnummer. Varje tabell du har ställt in för sqldependency har en triggerinställning för uppdateringar/infogningar som ökar ändrings-id:et i den nya tabellen jag just beskrev.
Din mentala modell av hur detta fungerar är bakvänt. Din applikation kontrollerar loggen för att avgöra om en tabell har ändrats.
Så om ändringsloggtabellen (det är vad jag kallar den) spårar två tabeller i din databas (produkt, användare) kommer den att se ut så här.
+Table Name + ChangeNumber +
| Product | 1 |
+-----------+--------------+
| User | 1 |
+-----------+--------------+
Om du nu ändrar något i någon av dessa tabeller kommer utlösaren att öka ChangeNumber
och vi vet nu att de ändrades.
Uppenbarligen finns det mer i detta, men detta är den allmänna idén.
Notera:Det bör noteras att du kan ogiltigförklara en sida om en eller flera tabeller ändras, så om din sida har ett beroende inställt för båda dessa tabeller, om en av dem ändras kommer det att ogiltigförklara den cachade sidan och cachelagra en uppdaterad version.