問題タブ [sqlite-net-pcl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
635 参照

sqlite - Xamarin Forms での CRUD サービスの挿入

Xamarin Forms という新しいプラットフォームを試してみました。.Net Core と EF Core の知識に基づいて、Visual Studio 2019 に含まれる Xamarin Forms Shell テンプレートに Sqlite ORM サービス (sqlite-net-pcl) を挿入することから始めることにしました。このテンプレートには、に基づく Mock CRUD サービスが既に実装されています。メモリ データ構造を変更したので、独自のサービスを実装して DependencyService を挿入したいと考えました。最初に、必要な属性でデータ モデルを変更しました。

次に、CRUD サービスを実装しました。

次に、App クラスで挿入されたサービスを変更しました。

この実装は、Xamarin Forms の EF Core で適切に動作しますが、EF Core は非常に遅いため、ORM (sqlite-net-pcl) を変更しましたが、動作しません。

0 投票する
1 に答える
491 参照

c# - SQLiteConnection と SQLiteAsyncConnection を一緒に使用する

与えられた

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

必要なもの

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

問題

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

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

質問

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

追加情報

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