none
VB.NET Projektübergreifende Deklarationen

    Frage

  • 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!

    Montag, 27. Februar 2012 17:26

Antworten

  • 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
    Freitag, 2. März 2012 16:36

Alle Antworten

  • 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:

    http://www.sidarok.com/web/blog/content/2008/05/02/10-tips-to-improve-your-linq-to-sql-application-performance.html

    wenn du nach Linq to sql / linq to entity performance googlest findest du noch einiges.

    Mittwoch, 29. Februar 2012 14:06
  • 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
    Freitag, 2. März 2012 16:36
  • 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

    Samstag, 3. März 2012 08:41