7

どのORMが非同期操作とpostgresqlをサポートしていますか?

DapperやOrmLiteのような単純なMicroOrmsは、パフォーマンスが優れているように見え、非常に単純であるため、私は好みますが、私が知る限り、非同期操作をサポートしていません。

たぶん私は間違っていますが、スケーリングが必要な非同期Webサービスなどの利点を最大限に活用するために、すべてのIOバウンド操作を非同期にすることは重要ではありませんか?

では、非同期操作とPostgresqlの両方をサポートするMicroOrmに関するオプションは何ですか?Insight.Dataという新しいOrmについて読んだばかりですが、PostgreSqlが適切にサポートされているかどうかわかりません。

4

7 に答える 7

4

.NET 4.5を使用している場合は、ExecuteReaderAsyncを内部的に呼び出す非同期メソッドを追加するDapperのフォークを作成しました。NuGetでも利用できます。私はPostgresqlでテストしていませんが、Dapperがそれで動作する場合は、フォークも同様に動作するはずです。

于 2012-09-15T05:46:19.410 に答える
3

Insight.Databaseと呼ばれるこの新しいORMに出くわしたばかりで、非同期クエリをサポートしていると主張しています。

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

まだ試していません...

于 2012-09-10T16:39:32.827 に答える
2

Telerikの無料のOpenAccessORMはPostgeSQLをサポートしていますが、非同期について言及されているものは何もありません。たぶんあなたは彼らに連絡することができます、彼らのオンラインサポートはかなり良いです。

于 2012-09-09T21:56:11.787 に答える
2

Insight.Databaseは完全な非同期サポートを備えており、任意の.NETSqlProviderで動作します。私はpostgresで具体的にテストしていませんが、githubサイトに問題を投稿した場合は、postgresをテストスイートに喜んで組み込みます。

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

編集:Insightv3.0以降はほとんどのデータベースをサポートしています。

于 2013-01-12T11:59:57.667 に答える
2

PetaPocoのフォークであるAsyncPocoは、非同期操作(排他的)とPostgeSQLをサポートします。

于 2014-01-07T20:56:16.790 に答える
1

Dapperはしばらくの間非同期をサポートしてきましたが、それは.NET4.5をターゲットにしている場合のみです。BCL非同期ターゲティングパックを使用して4.0にバックポートすることもできますが、これまでのところ、そうしていません。

于 2014-09-14T14:33:50.317 に答える
-1

AFAIKは、非同期実行をネイティブにサポートする唯一のRDBMSであり、プロバイダー側​​とサーバー側(リーダーでTask.Run()を使用して呼び出しをラップするような偽物ではありません)はSQLServerです。これは、特定のADO.NETデータプロバイダーを逆コンパイルすることで確認できます。ExecuteReaderAsyncのデフォルトの実装は、オーバーライドされていない場合、内部的に同期を呼び出します。asyncとawaitを使用すると、UIスレッドでデータベース操作が行われる可能性があるため、特定のADO.NETプロバイダーを逆コンパイルして再確認してください。

于 2019-05-02T14:10:13.227 に答える