, was der Zweck Entity SQL ist, ich meine, wenn Sie Linq zu Entitäten haben, warum Sie benötigen würde Abfragen in Zeichenfolge zu schreiben, gibt es irgendwelche Performance-Gründen oder so etwas?Entity Framework Entity SQL vs Linq zu Entitäten
Antwort
LINQ to Entities erlaubt Ihnen nicht, auf alle Funktionen Ihrer Datenbank zugreifen. In der Lage zu sein, in die Datenbank "hineinzukommen", ist manchmal für fortgeschrittene Abfragen notwendig, entweder um sie von vornherein abzuziehen oder um die manchmal schrecklichen Auswahlen zu verbessern, die das LINQ-zu-Entitäten-System über Ihre Abfrage machen wird.
Das heißt, ich glaube, dass LINQ to Entities sollte das erste Werkzeug für erreichbar. Wenn die Performance ein Problem wird oder Sie etwas Komplexeres haben, würde ich dieses Problemstück in einer gespeicherten Prozedur kapseln und aufrufen. Es gibt keinen Grund dafür, dass Strings heutzutage als Grundlage für Abfragen verwendet werden.
ESQL ermöglicht es Ihnen, eine Sortierung auf einer where-Klausel zu wählen, etwas, das nicht in LINQ-to-Anything unterstützt wird. Dies kann wirklich nützlich sein. Mit ESQL können Sie auch den genauen Typ angeben, der zurückgegeben werden soll, wenn Typen voneinander erben (im Gegensatz zu LINQs OfType
, die Instanzen eines bestimmten Typs und eines Untertyps zurückgibt). Darüber hinaus kann ich mir keinen guten Grund vorstellen, es zu benutzen. Manchmal ist es schön, Abfragen in Strings erstellen zu können, aber DynamicQuery/Dynamic LINQ ist in den seltenen Fällen, in denen dies erforderlich ist, im Allgemeinen gut genug.
Ich denke, (vielleicht zynisch), dass der „echte“ Zweck der ESQL ist „es LINQ früher.“
Zu Punkt Godeke des nicht optimalen Abfragen der Befestigung, habe ich noch einen sehen ich nicht durch eine Änderung der LINQ Ausdruck beheben könnte. Sowohl ESQL als auch L2E enden als CCTs, sodass die SQL-Generierungspipeline gleich ist.
- 1. Entity Framework linq zu Entitäten
- 2. Entity Framework vs Alternativen
- 3. Linq zu SQL und Entity Framework Diffrences?
- 4. Entity Framework - Linq zu Entitäten - Viele-zu-viele Abfrageprobleme
- 5. Entity Framework - LinQ-Projektionsproblem
- 6. Entity Framework 4 LINQ zu Entitäten Abfragen über WCF
- 7. Daten mit LINQ zu Entitäten vergleichen (Entity Framework)
- 8. Linq zu SQL Entity Splitting
- 9. Linq zu Entities/Entity Framework Ausnahme löschen
- 10. Gedanken zu Entity Framework
- 11. Entity Framework - dynamic sql
- 12. ADO.Net Entity Framework/Linq
- 13. Unterschied zwischen Linq zu Entitäten und Linq
- 14. Entity Framework und LINQ To SQL - Interessenkonflikt?
- 15. Entity Framework vs AssociateWith
- 16. LINQ mit Entity Framework - Grundfrage
- 17. ADO.NET Entity Framework - LINQ zu mehreren dbms
- 18. Entity Framework - Hinzufügen von Entitäten mit Navigationseigenschaften
- 19. Entity Framework - Eager Loading verwandte Entitäten
- 20. Entity Framework 4.0 2 Viele-zu-Viele mit gleichen Entitäten
- 21. Entity Framework T-Sql "Haben" Äquivalent
- 22. LINQ und Entity Framework - Unterabfragen zu vermeiden
- 23. Löschen aller zugehörigen Entitäten in Entity Framework
- 24. Linq wählen Tablemapping (Entity Framework)
- 25. Zukunft von Linq zu SQL und Entity Framework
- 26. Verzögertes Commit von Entity Framework-Entitäten
- 27. Entity Framework - Assoziation von abgeleiteten Entitäten
- 28. Entity Framework - Entitäten trennen und neu anfügen?
- 29. Entity Framework-Entitäten als Geschäftsobjekte verwenden?
- 30. Entity Framework Finden vs. Wo
Mein Punkt über suboptimale Abfragen ist, dass ich Dinge in TSQL tun kann, die ich nicht in LINQ to Entities kann. Machen Sie eine Tour auf Google mit "parameter sniffing entities" für einige Beispiele (oder, wenn Sie den Fix haben, lassen Sie es mich wissen und helfen Sie allen anderen in Not!) Die allgemeine Problemumgehung, die ich als zuverlässig gefunden habe, ist die Verwendung von T-SQL um die Schnüffelfehler zu vermeiden. – Godeke
T-SQL, ja. ESQL, in den meisten Fällen nicht. Die Frage war LINQ vs. * E * SQL, nicht * T * -SQL. –
erklären die Akronyme pls – alchemical