Laden...

linqtosql - dbcontext - asp.net mvc

Erstellt von M@TUK vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.502 Views
M
M@TUK Themenstarter:in
402 Beiträge seit 2005
vor 13 Jahren
linqtosql - dbcontext - asp.net mvc

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

16.827 Beiträge seit 2008
vor 13 Jahren

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.

M
M@TUK Themenstarter:in
402 Beiträge seit 2005
vor 13 Jahren

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

16.827 Beiträge seit 2008
vor 13 Jahren

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