Der switch geht natürlich noch lange weiter (20 Tabellen)... Dies ist nur (ein Teil) Beispiel für Änderungen in der Tabelle Adressen Auf diese Weise habe ich es relativ übersichtlich...
Mit Deinem Beispiel hast Du prinzipiell recht. Es gibt aber natürlich wesentlich kompliziertere Beispiele Also gecachte Datasets, die mit INNER JOINs erstellt werden. => Der Switch ist für Änderungen in einer bestimmten Tabelle. Dannach kann ich dann sämtliche betroffene DataSets ermitteln. In diesem Switch ist es eben relativ übersichtlich wannn was gelöscht wird. Und des is ja au wichtig, oder net? Gruß, Chris > -----Ursprüngliche Nachricht----- > Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Auftrag von Daniel Wasser > Gesendet: Donnerstag, 4. August 2005 09:15 > An: [email protected] > Betreff: Re: AW: AW: AW: [Asp.net] Output Caching (ASP.NET 2.0) > > > > Select Case LCase(TableName ) > '------------------------------------Adressen > Case LCase("Adressen") > > RemoveDsCollection("GetDsAdressenDetailByUserID_" & > aktPKValue) > RemoveDsCollection("GetDsAdressenListByCID_" & > Row("CID")) > > > Wenn du es mit einem if machst, kannst du die zusammengesetzten Keys > "GetDsAdressenDetailByUserID_" mit an die Funktion uebergeben. > diese kann dann den Namen komplett zusammensetzen und du brauchst in > Deiner Datenverabeitungsschicht keine Schlüssel hart eincodieren. > > Die Funktion wird dann einfach mit entsprechendem Schlüssel aus der > Oberfläche oder der Logik heraus aufgerufen. Analog zum Aufruf des Selects > > Function DeleteDsAdressenDetailByUserID(UserID as Integer) > > Dim SQL as string="SELECT * from Adressen where UesrId=" & UserID > > Dim CacheName as String = "GetDsAdressenDetailByUserID_" & UserID > > Return DeleteDataset(SQL,CacheName) > > end Function > > > > DeleteDataset ruft dann deine Cachefunktion CheckDsCollection(CacheName) > auf und du must da keinen switch einbauen. > > > Grüße, Daniel > > > > Chris wrote: > > Verwaltung ist vielleicht übertrieben... aber: > > > > Wie gesagt, ich arbeite fast nur mit Datasets und (leider) viel mit Access. > > > > Es gibt ein zentrales Modul in dem alle Datasets generiert werden. > > Ausschließlich hier werden SQL-Abfragen zusammengesetzt oder definiert. > > > > Das heißt, wenn ich in der Application irgendwo z.B. eine Adresse zu einer > > UserID benötige ... gehe ich zunächst in das Modul mache eine neue > > Function z.B. > > > > Function GetDsAdressenDetailByUserID(UserID as Integer) as dataset > > > > Dim SQL as string="SELECT * from Adressen where UesrId=" & UserID > > > > Dim CacheName as String = "GetDsAdressenDetailByUserID_" & UserID > > > > Return GetDataset(SQL,CacheName) > > > > end Function > > > > In GetDataset(SQL,CacheName) wird dann geprüft, ob in der Hashtable das > > Objekt > > vorhanden ist und entsprechend generiert. > > > > Entsprechend Hierzu gibt es wiederum auch zentrale Funktionen für Update > > Und Insert für die Datenbank. Wobei hier für mich ja nur der Tabellenname > > der PK und die ID wichtig sind um zu entscheiden welche Details gelöscht > > werden > > müssen. > > > > Beim Update oder Insert wird dann die hashtable überprüft ob Datasets > > betroffen sind > > > > Function CheckDsCollection(ByVal ds As DataSet, ByVal dsAlt As DataSet,_ > > ByVal TableName As String, ByVal PK As > > String) > > [...] > > > > Select Case LCase(TableName ) > > '------------------------------------Adressen > > Case LCase("Adressen") > > > > RemoveDsCollection("GetDsAdressenDetailByUserID_" & > > aktPKValue) > > RemoveDsCollection("GetDsAdressenListByCID_" & > > Row("CID")) > > [...] > > > > Es werden also gezielt einzelne Datasets herausgelöscht. > > so etwas: > > RemoveDsCollection("GetDsAdressenDetailByUserID_") > > würde dann alle AdressenDetails löschen. > > > > Hört sich komplizierter an als es ist.... Am Anfang vergißt man natürlich > > den Cache hier und da zu löschen .... Aber alles ist schön zentral zusammen. > > Alles wird überall recycelt. Wie gesagt AccessDB sonst natürlich eher > > Stored Procedures verwenden. Hat ein bischen was ähnliches. > > > > Gruß, Chris > > > > > > > > > > > > > >>-----Ursprüngliche Nachricht----- > >>Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > >>Auftrag von Thomas Bandt > >>Gesendet: Mittwoch, 3. August 2005 23:46 > >>An: [email protected] > >>Betreff: RE: AW: AW: [Asp.net] Output Caching (ASP.NET 2.0) > >> > >> > >> > >> > >>>An einer Art von Verwaltung kommt man doch nicht vorbei, wenn > >>>man nicht bei jeder > >>>Datenbankänderung alles löschen will. > >> > >>Wie schaut denn deine Verwaltung aus? > >> > >>Neugierige Grüße ;-) > >> > >> > >>_______________________________________________ > >>Asp.net Mailingliste, Postings senden an: > >>[email protected] > >>An-/Abmeldung und Suchfunktion unter: > >>http://www.glengamoi.com/mailman/listinfo/asp.net > > > > > > _______________________________________________ > > Asp.net Mailingliste, Postings senden an: > > [email protected] > > An-/Abmeldung und Suchfunktion unter: > > http://www.glengamoi.com/mailman/listinfo/asp.net > > > > > _______________________________________________ > Asp.net Mailingliste, Postings senden an: > [email protected] > An-/Abmeldung und Suchfunktion unter: > http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net Mailingliste, Postings senden an: [email protected] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
