Sqlinq ist ein OpenSource-Projekt zum Erstellen von SQL-Abfragen von linq. Ich benutze es mit Dapper , aber leider unterstützt es keine JOINs.
Gibt es weitere Bibliotheken, die das Gleiche tun und JOIN auch unterstützen?
Wenn nicht, was könnte eine Lösung sein, um hart codierende SQL Select-Abfragen zu vermeiden?
Wie sieht es mit der eingebauten LINQ aus, die mit .NET geliefert wird?
Ich denke, dass Sie vielleicht überdenken möchten, welche Technologien Sie verwenden möchten und warum. Du hast geschrieben:
gibt es eine Möglichkeit, linq in SQL-Abfrage
zu konvertieren
Die Antwort darauf ist ja, und es wird ORM genannt. Es gibt viele Bibliotheken zur Auswahl.
Dapper ist ein Mikro-ORM. Und obwohl es hervorragend ist und ich es persönlich sehr oft benutze, sieht es so aus, als wäre es ein falsches Werkzeug für deinen Job. Es schreibt keine SQL-Abfragen für Sie.
Aber andere Lösungen tun es. Zum Beispiel bietet Microsoft Linq to SQL und Entity Framework als sofort einsetzbare Lösungen. Vielleicht möchten Sie diese überprüfen.
Wenn Sie sagen, dass Sie SQL nicht "hardcodieren" wollen, ist das Problem das SQL oder die Hardcoding? Da SQL fabelhaft, ausdrucksstark, mächtig und auf jeden Fall DIE Sprache relationaler DBs ist, bin ich sicher, dass es die Hardcoding ist, die dich nervt. Also, QueryFirst. Ihr sql koexistiert in Ihrer App mit demselben Status wie die Host-Sprache: Syntax, die bei der Eingabe validiert wird, direkt ausführbar in situ . Jedes Mal, wenn Sie Ihre .sql speichern, generiert QueryFirst seinen C # -Wrapper neu: ein Repo, seine Schnittstelle und ein POCO für die Ergebnisse. Ihre Abfragen werden kontinuierlich von der Entwicklung bis zur Bereitstellung getestet. Theoretisch keine Laufzeitfehler beim Datenzugriff.
Laden Sie hier
herunterKleiner Blog für Diskussion und Kommentare hier
Haftungsausschluss: Ich habe QueryFirst geschrieben
Ich benutze SqlLinq, um in Dapper zu quälen und ich fand, dass sie mit einem anderen Adapter namens "SQLinq.Dynamic.DynamicSQLinq" kamen. Es gibt nicht viele Informationen darüber, aber dieses Beispiel hilft sicher. Es ist nicht großartig, aber es ist zumindest etwas.
%Vor%