0

与えられた

SQLite-Net NuGet パッケージを使用しています。
データベース操作用の古い同期 API があります ( SQLiteConnection)。

必要なもの

データベース操作に新しい非同期 API を使用したい ( SQLiteAsyncConnection)

問題

古い同期 API は十分に大きいため、非同期 API にすばやく移行することはできません。そのため、次のように、1 つのデータベース ファイルを使用して同期 API と非同期 API の両方を一緒に使用する必要があります。

var database = new SQLiteConnection(connectionString); // Synchronous API
var databaseAsync = new SQLiteAsyncConnection(connectionString); // Asynchronous API

上記のように 1 つのデータベース ファイルで 2 つの接続を使用しようとすると、同期接続を使用してテーブルを作成しても、非同期接続を使用してテーブルを使用できないなど、同期の問題が発生します。接続内に内部キャッシュがあると思います...

質問

1 つのデータベース ファイルと 2 つの (同期および非同期) 接続を一緒に正しく使用するにはどうすればよいですか?
そして.. できますか?

追加情報

  • 同期および非同期 API は、ロックによって完全にカバーされます。したがって、両方の API を一緒に使用しても競合はないと思います。
4

1 に答える 1