EF 6 Parameter Sniffing

Ich habe eine dynamische Abfrage, die einfach zu groß ist, um sie hier abzulegen. Man kann mit Sicherheit sagen, dass es in seiner aktuellen Form eine CLR-Prozedur verwendet, um Verknüpfungen basierend auf der Anzahl der übergebenen Suchparameter dynamisch zu erstellen. Dieses Ergebnis wird dann mit detaillierteren Tabellen verknüpft, um die für den Endbenutzer wichtigen Attribute wiederherzustellen. Ich habe die gesamte Abfrage in LINQ to Entities konvertiert und festgestellt, dass das von ihr erzeugte SQL effizient genug ist, um die Aufgabe zu erledigen, obwohl es über EF 6 ausgeführt wird, das Abfrage-Timeout. Das Aufnehmen des resultierenden SQL und dessen Ausführung in SSMS dauert maximal 3 Sekunden. Ich kann mir nur vorstellen, dass mein Problem das Schnüffeln von Parametern ist. Ich habe versucht, die Statistiken für jede Tabelle in der Datenbank zu aktualisieren, und das Problem wurde dadurch nicht behoben.

Meine Frage ist:

Kann ich Optionen wie ein "OPTION RECOMPILE" irgendwie über EF einbetten?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage