Xamarin.Forms 中的 SQLite-Net-Pcl

标签 sqlite xamarin.forms sqlite-net-pcl

我正在尝试从 Xamarin.Forms 学习 SQLite 及其用法。我发现建议将 Sqlite-net-pcl 作为 NuGet 包安装,并使用它来创建、打开、修改数据库。到那时一切都很好。但是,我正在努力在网络上找到有关 Sqlite-net-pcl 的更多详细信息。看来,这个库没有完整的文档。这个现实给我带来了一些问题,我相信我可以从 Stackoverflow 的前辈那里得到答案:

1-如果没有您尝试使用的库的文档,快速学习它的最佳方法是什么?尝试与错误?在这种情况下,我认为需要完整的类层次结构。 2-据我了解,Sqlite-net-pcl是Sqlite的部分实现。例如,在Sqlite的文档中,据说支持外键,但应该启用。但是,当我使用VisualStudio的ObjectBrowser工具时,我在Sqlite-net-Pcl中找不到这个属性。
3-考虑到,SQLite有更好的支持,如果我想直接在xamarin.forms(c#)而不是其派生版本(Sqlite-net-pcl)中使用SQLite,我该如何实现这一点?

最佳答案

最好使用 SQLite-net 库。它们只是 SQLite 流程的包装器。那里有您需要的一切。另外,如果你想使用 ORM,还可以通过 Microsoft.EntityFrameworkCore.Sqlite 使用 EntityFrameworkCore

就像 GitHub repository 中所说的那样:

SQLite-net is an open source, minimal library to allow .NET, .NET Core, and Mono applications to store data in SQLite 3 databases. It was first designed to work with Xamarin.iOS, but has since grown up to work on all the platforms (Xamarin.*, .NET, UWP, Azure, etc.).

关于外键 - 没有任何限制。您可以自由使用它,无需任何“启用”。

还有一些其他选项,例如 Microsoft.Data.SQLiteSystem.Data.SQLite,但我还没有在 Xamarin 中尝试过它们,如果它们有效,我认为他们不会像 SQLite-net 那样对 Mono 提供更好的支持。后者也在不断更新。

Here是微软官方关于使用sqlite-net-pcl的教程

如果你想使用ORM,你可以按照这个article来自官方文档,了解如何设置 SQLite 库以及 EFCore 包、迁移等。

如果您选择使用 EFCore,请考虑 Migration Limitations .

关于Xamarin.Forms 中的 SQLite-Net-Pcl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61613075/

相关文章:

android - 无法在 Visual Studio 2015 中构建我的第一个默认 Xamarin Form android 项目

Xamarin 表单 MessagingCenter 取消订阅未按预期工作

c# - 查询表只返回null返回sqlite-net-pcl中的列表

mysql - 使用 mysql 或 sqlite3 解释 Rails 4 sql 查询

sqlite - 如何将 SQLite 导出为 JSON?

php - SQLite SQLSTATE[HY000] : General error: 8 attempt to write a readonly database

android - SQLite 数据库架构 : Empty Tables

c# - 调用目标抛出异常? Xamarin 表格