c# - Xamarin PCL库和Sqlite数据存储

标签 c# database sqlite xamarin cross-platform

我正在使用 Xamarin 为 Android、iOS 和 Windows Phone 开发跨平台应用程序。我正在创建一个 PCL 库,其中包含我所有的业务逻辑,包括对我的 REST API 的调用。现在这似乎工作正常,但是,我需要在持久空间中存储一些信息,例如 API 身份验证 key 等,我想我也可以为此使用 Sqlite,它似乎在所有三个平台上都受支持.

我遇到的问题是 System.DataMono.Data.Sqlite 在 PCL 项目的上下文中似乎不可用。

即使我的 PCL 库不能或没有链接到所需的程序集,我至少应该能够使用我的 PCL 库中的引用(通过 using),对吧?我的意思是,我应该能够让应用程序负责创建数据库连接,然后使用依赖注入(inject)将该连接注入(inject)到我的库中。但似乎我什至无法在我的代码中引用任何 System.DataMono.Data.Sqlite

如何使用适用于 Android、iOS 和 Windows Phone 的 Xamarin 在 PCL 库中抽象我的数据层?

[1] http://developer.xamarin.com/guides/ios/advanced_topics/system.data/

最佳答案

我推荐使用 SQLite.Net.Async .然后,您可以使用 DI 将平台实现 (ISQLitePlatform) 注入(inject) PCL 端。另一种选择是使用 SQLite-Net PCL如果你不想使用 DI。

关于c# - Xamarin PCL库和Sqlite数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30567209/

相关文章:

c# - 可移植类库 : navigate to xaml page

c# - 如何在c#中制作带圆角的文本框?

database - H2 数据库 : slow query although index is used

mysql - mysql 日期比较结果不正确

macos - 构建 SQLCipher 时出现 fatal error ('openssl/rand.h' 找不到文件)

c# - 在 C# 插件中调用 Dynamics Web API

c# - 具有多个源数据和分组列的 WPF DataGrid

php - yii2 mongodb 迁移不起作用

perl - 对 SQLite 数据库的仅内存修改

ios - 从 TableView 到标签的数组数据