我正在使用 Xamarin 为 Android、iOS 和 Windows Phone 开发跨平台应用程序。我正在创建一个 PCL 库,其中包含我所有的业务逻辑,包括对我的 REST API 的调用。现在这似乎工作正常,但是,我需要在持久空间中存储一些信息,例如 API 身份验证 key 等,我想我也可以为此使用 Sqlite,它似乎在所有三个平台上都受支持.
我遇到的问题是 System.Data
和 Mono.Data.Sqlite
在 PCL 项目的上下文中似乎不可用。
即使我的 PCL 库不能或没有链接到所需的程序集,我至少应该能够使用我的 PCL 库中的引用(通过 using
),对吧?我的意思是,我应该能够让应用程序负责创建数据库连接,然后使用依赖注入(inject)将该连接注入(inject)到我的库中。但似乎我什至无法在我的代码中引用任何 System.Data
和 Mono.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/