2012-09-09 8 views
8

Welche ORMs unterstützen asynchrone Operationen und postgresql?Welche .Net Orms oder MicroOrms unterstützen asynchrone Operationen und PostgreSql

Ich bevorzuge einfache MicroOrms wie Dapper und Ormlite, weil sie eine großartige Leistung zu haben scheinen und sie sind wirklich einfach, aber sie unterstützen asynchrone Operationen nicht, soweit ich das beurteilen kann.

Vielleicht irre ich mich, aber ist es nicht wichtig, alle IO-gebundenen Operationen async zu machen, um die Vorteile eines asynchronen Webdienstes zu nutzen, der skaliert werden muss?

Was sind die Optionen für ein MicroOrm mit Unterstützung für asynchrone Operationen und Postgresql? Ich habe gerade von einem neuen Org namens Insight.Data gelesen, aber ich bin mir nicht sicher, ob es PostgreSql richtig unterstützt.

+0

Ich habe das Simple.Data-Tag entfernt, da es im Moment async \ await nicht unterstützt. – Hmobius

Antwort

5

Wenn Sie .NET 4.5 verwenden, ich schrieb a , die asynchrone Methoden hinzufügt, die intern ExecuteReaderAsync aufrufen. Es ist auch available on NuGet. Ich habe es nicht mit Postgresql getestet, aber wenn Dapper damit arbeitet, dann sollte meine Gabel auch.

+6

Dapper hat jetzt Async-Methoden in der Core-Bibliothek (und das schon seit einiger Zeit, aber nachdem deine Antwort gepostet wurde) –

3

Teleriks kostenlose OpenAccess ORM unterstützt PostgeSQL, aber ich kann nichts über Async erwähnt sehen. Vielleicht könntest du sie kontaktieren, ihre Online-Unterstützung ist ziemlich gut.

4

stolperte über diese neue ORM Insight.Database genannt und sie behaupten, Asynchron-Abfragen zu unterstützen:

List<Beer> beerMenu = await Database1.AsyncQuery<Beer>("FindBeer", new { Name = "Sly Fox" }); 

Ich habe es noch nicht versuchen ...

3

Insight.Database hat volle Async-Unterstützung und funktioniert mit jedem .NET SqlProvider. Ich habe es nicht speziell auf Postgres getestet, aber wenn Sie ein Problem auf der Github-Website veröffentlichen, würde ich gerne Postgres in die Testsuite integrieren.

https://github.com/jonwagner/Insight.Database

EDIT: Insight v3.0 und höher unterstützt die meisten Datenbanken.

3

AsyncPoco, eine Verzweigung von PetaPoco, unterstützt asynchrone Operationen (ausschließlich) und PostgeSQL.

2

Dapper hat seit einiger Zeit Async-Unterstützung, aber nur, wenn .NET 4.5 als Targeting verwendet wird. Ich könnte wahrscheinlich Back-Port 4.0 mit dem BCL Async-Targeting-Pack, aber bis heute: Ich habe es nicht getan.

Verwandte Themen