Подтвердить что ты не робот

Как использовать SQLiteAsyncConnection из async PCL-версии SQLite?

Я использую версию Sqlite.net из PCL из https://github.com/oysteinkrog/SQLite.Net-PCL

Однако я не могу установить соединение с DB. SQliteAsyncConnection в отличие от исходной версии не принимает строку (путь к БД), но [Func< SQLiteConnectionWithLock>.] 2

Как это можно использовать? В общем: как пользоваться этой библиотекой? У меня есть основной PCL lib, который выполняет всю бизнес-логику из моих проектов iOS, Android и WP8. Я понял, что могу отбросить Sqlite-Net Async PCL в свою библиотеку PCL. Но мне кажется, что я должен предоставить некоторые специфические для платформы вещи, чтобы заставить его работать.

4b9b3361

Ответ 1

Вам просто нужно создать функцию, которая возвращает SQLiteConnectionWithLock и передать это конструктору SQLiteAsyncConnection.

string databasePath = "path";
var connectionFactory = new Func<SQLiteConnectionWithLock>(()=>new SQLiteConnectionWithLock(new SQLitePlatformWinRT(), new SQLiteConnectionString(databasePath, storeDateTimeAsTicks: false)));
var asyncConnection = new SQLiteAsyncConnection(connectionFactory);

Ответ 2

У меня тоже были проблемы с этим. Чтобы встретить ответ Джонбота, который является правильным, я добавляю, как я использовал эту библиотеку и получил ее для работы. Я действительно не понял пакеты NuGet, поэтому я сделал это вручную.

a) SQLite.Net

b) SQLite.Net.Async

c) SQLite.Net.Platform.WinRT, который предназначен для универсальных приложений Windows 10 или требуемой платформы.

Убедитесь, что у вас есть эти ссылки в вашем проекте.

ссылки

SQLIte for Universal App устанавливается из VS Tools/Extensions и Updates. После установки он ссылается на Universal Windows/Extensions вместе с Visual С++ 2015, который также требуется.

Удачи!