4

SQLite.net を使用して PCL 内に OneToMany 関係を実装しようとしています。私は非同期拡張パッケージ (SQLiteNetExtensions.Async) を持っており、https://bitbucket.org/twincoders/sqlite-net-extensions にある例に基づいてコードを作成してい ます。SQLiteAsyncConnection を使用していますが、UpdateWithChildren メソッドは使用できないようです。SQLiteConnection でのみ使用できます。

using SQLite.Net;
using SQLite.Net.Async;
using SQLite.Net.Interop;
using SQLiteNetExtensions.Extensions;

private readonly SQLiteAsyncConnection conn;
public ActivityRepository(ISQLitePlatform platform, string dbPath)
{
    var connectionFactory = new Func<SQLiteConnectionWithLock>(() => new SQLiteConnectionWithLock(platform, new SQLiteConnectionString(dbPath, storeDateTimeAsTicks: true)));
    conn = new SQLiteAsyncConnection(connectionFactory);
}
public void method(object object) {
    conn.UpdateWithChildren(object); --function not available
}
4

1 に答える 1

6

を使用する場合、すべてのメソッドの非同期 Nuget パッケージ、名前空間、および非同期バージョンSQLiteAsyncConnectionを使用する必要があります。SQLiteNetExtensionsAsync.Extensions

using SQLite.Net;
using SQLite.Net.Async;
using SQLite.Net.Interop;
using SQLiteNetExtensionsAsync.Extensions;

private readonly SQLiteAsyncConnection conn;
public ActivityRepository(ISQLitePlatform platform, string dbPath)
{
    var connectionFactory = new Func<SQLiteConnectionWithLock>(() => new SQLiteConnectionWithLock(platform, new SQLiteConnectionString(dbPath, storeDateTimeAsTicks: true)));
    conn = new SQLiteAsyncConnection(connectionFactory);
}
public Task method(object object) {
    return conn.UpdateWithChildrenAsync(object);
}

Taskすべての非同期メソッドは、待機するか返さなければならないa を返すことに注意してください。

于 2016-06-14T11:55:24.703 に答える