Ich habe eine ASP.NET-Seite entwickelt und verwende LINQ, um mit MS SQL Server zu kommunizieren. Ich bin in Basic SQL in Ordnung, aber ich bin viel besser beim Entwerfen von Abfragen mit LINQ. Ich weiß, dass sie ähnlich sind, aber ich finde es einfacher, komplexe Abfragen in LINQ zu entwerfen. Meine Frage ist dies: Gibt es eine Möglichkeit, eine Abfrage in LINQ zu entwerfen und dann die SQL zu erhalten, die es generiert? Ich möchte das SQL in eine gespeicherte Prozedur einbetten, da mehrere Seiten (außerhalb meiner Kontrolle) dieselbe Abfrage ausführen müssen.Gibt es eine Möglichkeit, SQL von einer LINQ-Abfrage erstellt zu erhalten?
Antwort
Ja. Der LINQ-Datenbankkontext verfügt über eine Log-Eigenschaft, die das von ihm ausgeführte SQL ausgibt. Sie können dies auch über ein kostenloses Produkt namens LinqPad und ein kommerzielles Produkt namens Linqer tun.
Sie können auch DataContext.GetCommand (query) verwenden. – itowlson
Sie können es 2 Möglichkeiten erhalten:
- Verwenden LINQPad
Verwendung ToString() auf der Abfrage seiner SQL Form zu erhalten:
var query = von x in Sometable wobei x .SomeField == 5 Wählen Sie x.SomeOtherField; Console.WriteLine (Abfrage.ToString());
Wenn Sie mehr in die Tiefe, um Informationen, dann können Sie Linq to Sql Profiler verwenden, die auch alle Anfragen angezeigt werden als alerts
Wenn Linq-Anweisungen schreiben, die gegen SQL Server ausgeführt werden, immer Augapfel sie in SQL Server Profiler. Die Interpretation, die innerhalb von SQL ausgeführt wird, wird Sie oft überraschen.
In Leistungstools/SQL Server Profiler starten Sie eine neue Ablaufverfolgung.
Führen Sie Ihre Abfrage in Ihrer App, greifen die Ausgabe von Profiler Einfügen in SQL Server Query Analyzer
- 1. Oracle: Gibt es eine Möglichkeit, aktuelle SQL-Syntaxfehler zu erhalten?
- 2. Gibt es eine Möglichkeit, Quartalstermine in MS SQL zu erhalten?
- 3. Gibt es eine Möglichkeit, den Ursprung einer Alarmbox zu erhalten?
- 4. Gibt es eine datenbankunabhängige Möglichkeit, Datenänderungsbenachrichtigungen auf Feldebene zu erhalten?
- 5. Gibt es eine einfache Möglichkeit, Benutzer von Facebook zu erhalten?
- 6. Gibt es eine bessere Möglichkeit, alte Daten zu erhalten?
- 7. Gibt es eine Möglichkeit, HSQLDB-Daten zu erhalten?
- 8. Gibt es eine einfache Möglichkeit, alle gängigen Modulerweiterungen zu erhalten?
- 9. Gibt es eine Möglichkeit, eine Cookie-Antwort schnell zu erhalten?
- 10. Gibt es eine Möglichkeit, Pixeldaten vom Internet Explorer zu erhalten?
- 11. Gibt es eine Möglichkeit, mehrere Listen aus einer nativen SQL-Abfrage im Ruhezustand zu erhalten?
- 12. Gibt es eine Möglichkeit, alle Attribute eines DOMEelements zu erhalten?
- 13. Gibt es eine ergänzende Möglichkeit, etwas wie Mausereignisse zu erhalten?
- 14. Gibt es eine Möglichkeit, Twitter-Benutzer-E-Mails zu erhalten?
- 15. glibc: Gibt es eine Möglichkeit, die verwendeten Konfigurationsbefehlszeilenoptionen zu erhalten?
- 16. Gibt es eine Möglichkeit, Firebase Auth User UID zu erhalten?
- 17. Gibt es eine Möglichkeit, den Text eines aktivierten Radiobuttons von einer Radiogruppe zu erhalten?
- 18. Gibt es eine Möglichkeit, Json von einer Subdomain zu laden?
- 19. Gibt es eine Möglichkeit, bestimmte UIImageView-Eigenschaften zu erhalten?
- 20. Gibt es eine Möglichkeit, jQuery AJAX Upload-Fortschritt zu erhalten?
- 21. Gibt es eine Möglichkeit, die Textfeldinformationen eines Containers zu erhalten?
- 22. Gibt es eine Möglichkeit, die Sicherheit Panel-Daten zu erhalten
- 23. Gibt es eine Möglichkeit, Publishing Queue in Sitecore zu erhalten?
- 24. Gibt es eine Möglichkeit, Tastaturereignisse ohne JFrame zu erhalten?
- 25. Gibt es eine Möglichkeit, den Fortschrittswert eines Fensters zu erhalten?
- 26. Generic for-loop: Gibt es eine Möglichkeit, Iterationsinformationen zu erhalten?
- 27. Gibt es eine Möglichkeit, GPU-Informationen zu erhalten?
- 28. Gibt es eine Möglichkeit, mit EPPlus "benannte" Zellen zu erhalten?
- 29. Gibt es eine einfache Möglichkeit, Bildabmessungen in Ruby zu erhalten?
- 30. Gibt es eine einfache Möglichkeit, das Alphabet programmatisch zu erhalten?
LINQ to SQL? LINQ zu Entitäten? LINQ zu etwas anderem? (Alle diese wurden übrigens bereits wiederholt auf dieser Site beantwortet; Sie könnten eine Suche versuchen.) –