Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
linqtosql - dbcontext - asp.net mvc
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

Themenstarter:

linqtosql - dbcontext - asp.net mvc

beantworten | zitieren | melden

Hi,

ich wollt mal nachfragen
wie bzw wo oder wann man am besten den datacontext instanziert.

vor allem um die performance bzw. speicherverbrauch nicht
unnötig negativ zu beeinflussen.

Zusätzlich erschwert wird das ganze bei mir
weil ich nicht nur im Controller sondern bereits in der global.asax (Session_Start,..)
zugriff auf die Datenbank benötige.


thx
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15980

beantworten | zitieren | melden

Guten Morgen,

prinzipiell sollte man den DbContext im Controller erstellen, weil quasi alles vom Controller ausgeführt wird.

Welche Situation hast Du denn, dass eine Verbindung bereits beim Startup erstellt werden muss.
Möchtest Du Exceptions in die DB speichern?

Es sollte möglichst wenig im App_Start() liegen, da dies den Start der Anwendung direkt beeinflusst.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

Themenstarter:

beantworten | zitieren | melden

hi,

naja, das ist eine mandantenfähiges System.

Darum muss ich in der Session_Start abfragen um welchen
Mandanten es sich handelt (über die Domain) um die richtige
Mandanten-DB zu kennen.

Und dann kann jeder Mandant auch noch unterschiedliche Layouts
haben und dafür hab ich die Razor Engine etwas erweitert
und übergeb der den Layout-Code damit diese die richtigen
Templates findet. Der Layout-Code kommt ebenfalls
aus der Datenbank.

lg
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15980

beantworten | zitieren | melden

Kannst Du dann nicht einfach den Mandanten hinterlegen und einen Basis-Controller stellen der anhand des hinterlegten Users die spezifische Datenbankverbindung öffnet?
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers