什么.Net orms或MicroOrms支持异步操作和PostgreSql

时间:2012-09-09 21:48:36

标签: dapper

ORM支持异步操作和postgresql?

我更喜欢像Dapper和OrmLite这样的简单MicroOrms,因为它们看起来性能很好而且非常简单,但据我所知,它们不支持异步操作。

也许我错了,但是让所有IO绑定操作异步以获得说需要扩展的异步Web服务的全部好处并不重要?

那么有关支持异步操作和Postgresql的MicroOrm有哪些选项?我刚刚读到一个名为Insight.Data的新Orm,但我不确定它是否正确支持PostgreSql。

6 个答案:

答案 0 :(得分:3)

偶然发现了这个名为Insight.Database的新ORM,他们声称支持异步查询:

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

我还没试过......

答案 1 :(得分:2)

Telerik的免费OpenAccess ORM支持PostgreSQL,但我无法看到有关异步的任何内容。也许你可以联系他们,他们的在线支持非常好。

答案 2 :(得分:2)

Insight.Database具有完全异步支持,可与任何.NET SqlProvider配合使用。我没有在postgres上专门测试它,但如果你在github网站上发布一个问题,我很乐意将postgres合并到测试套件中。

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

编辑:Insight v3.0及更高版本支持大多数数据库。

答案 3 :(得分:2)

AsyncPocoPetaPoco的分支,支持异步操作(独占)和PostgreSQL。

答案 4 :(得分:1)

Dapper已经有一段时间的异步支持,但仅限于.NET 4.5。我可以使用BCL异步定位包将可能后端移植到4.0,但到目前为止:我还没有这样做。

答案 5 :(得分:-1)

AFAIK是唯一本机支持异步执行的RDBMS,即提供方和服务器端(不是伪造的RDBMS,例如使用Task.Run()封装调用)是SQL Server。您可以通过反编译特定的ADO.NET数据提供程序来查看此信息。 ExecuteReaderAsync的默认实现在内部调用同步同步(如果未重写)。请通过反编译特定的ADO.NET提供程序进行仔细检查,因为使用async和await可能最终会在UI线程中执行数据库操作。