Wenn ich meinen Kontext mit der folgenden Funktion erstelle, zeigt der Profiler eine Erhöhung von 300ms gegenüber der Standard-EF-Kontexterstellungsmethode (Version 4). Gibt es eine andere Möglichkeit, dies zu tun, die eine bessere Leistung hat? Es widerspricht dem Zweck der Leistung Profiling wie es ist.
%Vor%Dieser erste verwendet die obige Funktion, um den Kontext zu erstellen. Die zweite Methode verwendet die Standardmethode zur Erstellung von EF-Kontexten. Hier ist der Unterschied in der Leistung mit dem MVC-Mini-Profiler:
Profiler EF Kontext: 89.1
Einige DB-Treffer: 317.9
Normaler EF-Kontext: 0.1
Einige DB-Treffer: 7.4
UPDATE 2: Ich habe einige Profiling in Visual Studio und es sieht aus wie die zeitaufwendige Operation ist MvcMiniProfiler.Helpers.StackTraceSnippet.Get () und darin gibt es einen Aufruf an System.Diagnostics.StackTrace..ctor (bool). Dies dauert eine lange Zeit und scheint die Ursache für die obige Verzögerung zu sein.
Ich habe ein Änderungsset auf den Profiler verschoben, der dies ermöglicht Deaktivieren von Stack-Traces, da viele Abfragen das Profiling beeinträchtigen könnten.
Legen Sie beim Start der Anwendung einfach die folgende Einstellung fest:
%Vor%Tags und Links asp.net-mvc-3 entity-framework profiling mvc-mini-profiler