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
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 - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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
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 - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code