Ich habe ein seltsames Muster der Antwortzeit, wenn ich das Entity Framework für SQL-Kommunikation verwende.
Dies ist von meinem Web-Host:
Dies ist von meinem lokalen Server:
Es ist die Zunahme der Reaktionszeit, um die ich mir Sorgen mache. Ich habe das Problem auf eine einzige Codezeile reduziert Nop.Data & gt; EfRepository.cs & gt; public void Einfügen (T-Objekt) & gt; _entities.Add (Entität); Ja, ich weiß das sehr spezifisch für den NopCommerce, aber der Punkt ist wirklich, dass ich sie um Hilfe suche, wie man das debuggt.
Gibt es einige Ereignisse, die ich abfangen kann, die anzeigen, dass das SQL ausgeführt wird? Oder welche anderen Dinge kann ich tun, um mehr darüber herauszufinden, was tatsächlich im Entity Framework in diesem obigen Befehl passiert.
Beim Debuggen von EF-Abfragen ist es am einfachsten, die Abfrage in ObjectQuery zu konvertieren und ToTraceString zu verwenden:
%Vor%Dies zeigt die zugrunde liegende SQL für die Abfrage an und Sie können die Abfragen manuell ausführen, um zu debuggen, warum sie langsam sind. Hier ist der MSDN-Link:
Wenn Sie versuchen, die SQL zu erhalten, die beim Aufruf von SaveChanges () in Ihrem Kontext ausgeführt wird, ist das nicht so einfach. Sie können sich EFTracingProvider ansehen:
Wenn Sie SQL Server verwenden, können Sie direkt zu SQL Profiler wechseln und die T-SQL-Anweisungen erfassen (dies ist mein bevorzugter Ansatz).
Beim Debuggen von EF-Abfragen ist es am einfachsten, die Abfrage in ObjectQuery zu konvertieren und ToTraceString zu verwenden:
%Vor%Dies zeigt die zugrunde liegende SQL für die Abfrage an und Sie können die Abfragen manuell ausführen, um zu debuggen, warum sie langsam sind. Hier ist der MSDN-Link:
Wenn Sie versuchen, die SQL zu erhalten, die beim Aufruf von SaveChanges () in Ihrem Kontext ausgeführt wird, ist das nicht so einfach. Sie können sich EFTracingProvider ansehen:
Wenn Sie SQL Server verwenden, können Sie direkt zu SQL Profiler wechseln und die T-SQL-Anweisungen erfassen (dies ist mein bevorzugter Ansatz).
Ich habe ein seltsames Muster der Antwortzeit, wenn ich das Entity Framework für SQL-Kommunikation verwende.
Dies ist von meinem Web-Host:
Dies ist von meinem lokalen Server:
Es ist die Zunahme der Reaktionszeit, um die ich mir Sorgen mache. Ich habe das Problem auf eine einzige Codezeile reduziert Nop.Data & gt; EfRepository.cs & gt; public void Einfügen (T-Objekt) & gt; _entities.Add (Entität); Ja, ich weiß das sehr spezifisch für den NopCommerce, aber der Punkt ist wirklich, dass ich sie um Hilfe suche, wie man das debuggt.
Gibt es einige Ereignisse, die ich abfangen kann, die anzeigen, dass das SQL ausgeführt wird? Oder welche anderen Dinge kann ich tun, um mehr darüber herauszufinden, was tatsächlich im Entity Framework in diesem obigen Befehl passiert.
Tags und Links entity-framework performance nopcommerce