SQLiteAsyncConnection UpdateWithChildren недоступен

Я пытаюсь реализовать отношение OneToMany внутри своего PCL, используя SQLite.net. У меня есть пакет асинхронных расширений (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
}

person Carl    schedule 14.06.2016    source источник


Ответы (1)


При использовании SQLiteAsyncConnection необходимо использовать асинхронный пакет Nuget, пространство имен 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, которое необходимо дождаться или вернуть.

person redent84    schedule 14.06.2016
comment
Спасибо, у меня был установлен асинхронный пакет, я просто не использовал метод UpdateWithChildrenAsync. - person Carl; 14.06.2016