VB.NET Projektübergreifende Deklarationen
-
Montag, 27. Februar 2012 17:26
Hallo
Folgende Situation:
Ich nutze in meinem Projekt mehrere Unterprojekte. - Die Idee dahinter wäre gewesen, dass ich eine Klassenbibliothek "nur" für die Datenbankabfragen (Projektname: DomainModel) habe, ein Projekt nur für meine Kunden, usw.Ich habe jetzt die Klassenbibliothek für den Datenzugriff geschrieben und im Kundenprojekt einen Verweis gesetzt. Jetzt kann ich meinen DatenContext z.B. so abrufen per Linq:
Dim Customers = From DomainModel.Customers
Dieser Zugriff funktioniert wunderbar. - Jetzt bin ich aber drauf gekommen, dass jedes mal, wenn ich etwas aufrufe auch der gesamte Datencontext frisch deklariert wird, da anscheinend nach der Benutzung des Projekts, das Projekt "Domainmodel" aus dem Kundenprojekt wieder entladen wird.
Meine Frage: Ist es irgendwie möglich, wenn ich das Projekt "DomainModel" einmal aufgerufen habe, dass es für das Projekt, das es nutzt auch im Speicher vorhanden bleibt?
Ich hoffe ihr habt verstanden, was ich meine - und bedanke mich gleich mal vorweg!
Alle Antworten
-
Mittwoch, 29. Februar 2012 14:06
Natürlich könntest du mit using und einer Schleife oder in einem Thread den DataContext halten. das bringt aber eher Probleme. Wenn du wirklich Geschwindigkeit gewinnen möchtest mit Linq to SQL / Linq to Entity dann sollte der DataContext nicht immer die komplette Datenbank enthalten, sondern nur den benötigten Teil. Meist hat man viele Tabellen die kaum genutzt werden aber im DataContext vorhanden sind.
Weiter tweaks:
wenn du nach Linq to sql / linq to entity performance googlest findest du noch einiges.
-
Freitag, 2. März 2012 16:36
Hallo!
Danke für Deinen Tipp. Ist auf alle Fälle sehr interessant!
Des Problem's Lösung ist aber, Shared Sub's bzw. Shared Function's (inkl. Deklarationen) zu verwenden. - Dann wird nichts mehr entladen und das funktioniert auch wunderbar
Schönen Abend!
- Als Antwort markiert Zero-G. _ Freitag, 2. März 2012 16:37
-
Samstag, 3. März 2012 08:41
Hi,
Des Problem's Lösung ist aber, Shared Sub's bzw. Shared Function's (inkl. Deklarationen) zu verwenden.
solange Du nicht in einer Multiuserumgebung wie bspw. ASP.NET bzw. nur mit einem einzigen Benutzer/Thread arbeitest, kann das funktionieren. Wenn Du sowas in ASP. NET machst, fliegts dir um die Ohren^^
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

