SQLiteAsyncConnection UpdateWithChildren недоступно
Я пытаюсь реализовать отношение OneToMany внутри моего PCL с помощью SQLite.net. У меня есть пакет расширений async (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
}
1 ответ
Решение
Когда используешь SQLiteAsyncConnection
, вы должны использовать пакет Async Nuget, SQLiteNetExtensionsAsync.Extensions
namespace и асинхронные версии всех методов:
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
это должно быть ожидано или возвращено.