F # - Welches ORM soll gewählt werden?

8

Ich habe gerade angefangen, mit F # zu spielen, und habe mich gefragt, ob es da empfohlene ORMs für F # gibt.

In C # habe ich NHibernate verwendet, was in F # ziemlich schwierig und hässlich zu implementieren scheint. Ich habe auch darüber nachgedacht, einfach alte System.Data.SqlClient zu benutzen, aber das ist wie in die Steinzeit zurückzukehren ...

Irgendwelche Vorschläge?

    
ebb 10.03.2011, 20:13
quelle

3 Antworten

6

Ich habe F # Unterstützung für LINQ to SQL verwendet, wenn ich an fssnip.net arbeite. Es ist in Ordnung, wenn Sie Elemente laden, bearbeiten und einfügen müssen, und es ist in Ordnung, einfache Abfragen zu schreiben. Es hat einige nette Aspekte, z.B. Sie können splicing verwenden, um Teile einer Abfrage zu erstellen.

Die aktuelle Implementierung des F # zu LINQ-Umsetzers verarbeitet jedoch keine komplexen Abfragen (geschachtelte Funktionsaufrufe, erweiterte Gruppierung und Joins). Daher habe ich einige gespeicherte Prozeduren geschrieben. Diese können schön über generierte LINQ-Objekte aufgerufen werden, aber Sie müssen etwas SQL schreiben.

Wenn Sie alternativ das altmodische SqlClient verwenden möchten, können Sie es mit dem dynamischen Operator ( ? ) schöner machen. Ich habe darüber in diesem Blogpost geschrieben. Für einfache Szenarien könnte das eine ziemlich gute Technik sein, weil es sehr einfach ist.

    
Tomas Petricek 10.03.2011, 20:59
quelle
5

Dies kann den Punkt vermissen (wie wenn es nur für Bildung oder Spaß ist), aber wenn Sie bereits wissen, wie man ein ORM in C # verwendet, warum tun Sie es nicht einfach in C # als Bibliothek und machen dann den Rest von die Logik in F #? Eines der wichtigsten Verkaufsargumente für .NET-Sprachen ist die Interoperabilität.

    
CodexArcanum 10.03.2011 20:44
quelle
1

Ich habe LINQ to SQL über das F # PowerPack verwendet. Ich benutze manuelle Zuordnung (dh ich erstelle meinen Datenkontext von Hand, erstelle meine POCO-Klassen und schreibe die XML-Datei, um mein Datenbanklayout zu definieren). Es scheint gut zu funktionieren in F # von dem, was ich bisher gemacht habe.

    
Frank Hale 10.03.2011 20:47
quelle

Tags und Links