我正在使用https://github.com/oysteinkrog/SQLite.Net-PCL
的PCL版Sqlite.net但是,我无法进行数据库连接设置。 SQliteAsyncConnection
与原始版本不同,不采用字符串(数据库的路径),而是[Func< SQLiteConnectionWithLock>.]
2
如何使用? 一般来说:如何使用这个库?我有一个核心PCL lib,可以完成iOS,Android和WP8项目的所有业务逻辑。我的理解是我可以将Sqlite-Net Async PCL放入我的PCL lib中。但似乎我必须提供一些特定于平台的东西才能让它发挥作用。
答案 0 :(得分:28)
您只需要创建一个返回SQLiteConnectionWithLock
的函数并将其传递给SQLiteAsyncConnection
构造函数。
string databasePath = "path";
var connectionFactory = new Func<SQLiteConnectionWithLock>(()=>new SQLiteConnectionWithLock(new SQLitePlatformWinRT(), new SQLiteConnectionString(databasePath, storeDateTimeAsTicks: false)));
var asyncConnection = new SQLiteAsyncConnection(connectionFactory);
答案 1 :(得分:2)
我也遇到过这个问题。为了满足Johnbot的答案是正确的,我将添加如何使用这个库并使其工作。我真的不了解NuGet包,所以我手动完成了。
在VS2015中加载解决方案,设置为发布模式并为以下内容创建dll:
a)SQLite.Net
b)SQLite.Net.Async
c)SQLite.Net.Platform.WinRT适用于Windows 10通用应用程序或您需要的平台。
确保您的项目中包含这些引用。
通用应用程序的SQLIte是从VS Tools / Extensions和Updates安装的。安装后,它将在Universal Windows / Extensions下引用,同时还需要Visual C ++ 2015。
祝你好运!