Ist es sinnvoll, einen statischen EF-Objektkontext in einer MVC-Anwendung zu verwenden, um eine bessere Leistung zu erzielen?

Beginnen wir mit diesem grundlegenden Szenario:

Ich habe eine Reihe von Tabellen, deren Aufzählungen im Wesentlichen selten geändert werden (z. B. GeoLocations, Category usw.). Ich möchte diese in meinen EF ObjectContext laden, damit ich sie Entitäten zuweisen kann, die auf sie als FK verweisen. Diese Objekte werden auch zum Auffüllen aller Arten von Dropdown-Steuerelementen verwendet. Bisher ziemlich normale Szenarien.

Da für jede Seitenanforderung in MVC ein neuer Controller erstellt wird, wird ein neuer Entitätskontext erstellt und diese "Enum" -Objekte werden wiederholt geladen. Ich dachte darüber nach, ein statisches Kontextobjekt für alle Instanzen von Controllern (oder Repository-Objekten) zu verwenden.

Aber wird dies zu viel Verriegelung erfordern und daher die Leistung tatsächlich verschlechtern?

Alternativ denke ich daran, einen statischen Kontext nur für schreibgeschützte Tabellen zu verwenden. Da sich Entitäten, die auf sie verweisen, ohnehin im selben Kontext befinden müssen, unterscheidet sich dies nicht von den oben genannten.

Ich möchte mich auch nicht mit dem Anhängen / Entfernen dieser Aufzählungsobjekte befassen. Da ich glaube, dass ich ein statisches Enum-Objekt einer Entität zuordnen kann, kann ich es keiner anderen Entität erneut zuordnen?

Bitte helfen Sie mir, ich bin ganz neu bei EF + MVC und frage mich, was der beste Ansatz ist.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage