Wie der NOEXPAND Hinweis mit Linq to SQL verwenden?
-
01-10-2019 - |
Frage
Ich habe eine indizierte Sicht, dass ich den NOEXPAND Hinweis für angeben, um es vernünftig auszuführen. Leider, wie im Hinblick auf die Modifizierung der Linq to SQL erzeugten T-SQL-Abfrage aus dem NOLOCK-Hinweis erscheint es gesehen, dass es keine einfache Möglichkeit, direkt die Vorteile dieser Hinweise zu nehmen oder gibt es?
Mein Gedanke ist, dass es Sinn machen würde, die individuell gestaltet wird dieses Zeug durch die Verwendung von Attributen zu ermöglichen oder deklarativ durch die dbml. Auch da Linq to SQL scheint nur zu Arbeit Targeting SQL Server macht es nur Sinn, dass wir auch in der Lage sind, diese erweiterten Funktionen nutzen (wenn sie existiert). Unabhängig von der Implementierung obwohl ich interessiert bin in allen kreativen Möglichkeiten, dieses Problem zu lösen.
Lösung
Ich habe eine Abhilfe gefunden, die zur Arbeit erscheint, erfordern aber eine zweite Ansicht für jede SQL-Ansicht zu machen, dass man mit dem NOEXPAND Hinweis verwenden möchte. In der zweiten Ansicht wählen Sie einfach alle Felder aus der Originalansicht und Tack auf dem NOEXPAND Hinweis. Jede Linq to SQL-Abfrage, dass der Bedarf den NOEXPAND Hinweis verwenden kann jetzt nur diese Ansicht zielt, die die ursprüngliche einwickelt.
Andere Tipps
Ich bin vollkommen einverstanden, aber ich glaube nicht, dass es ein solches Verfahren. In EF4 können Sie die ExecuteStoreCommand
verwenden, die Sie SQL direkt ausführen lassen. Das kann Ihre einzige Option sein, wenn die Leistung ist nicht akzeptabel.
== == EDIT
Sie können dies auch auf SQL durch die ExecuteQuery
Methode in LINQ tun.