2

我正在尝试从 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 而不是它的派生版本(Sqlite-net-pcl),我该如何实现?

4

1 回答 1

2

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

就像GitHub 存储库中所说的那样:

SQLite-net 是一个开源的最小库,允许 .NET、.NET Core 和 Mono 应用程序将数据存储在 SQLite 3 数据库中。它最初是为与 Xamarin.iOS 一起工作而设计的,但后来已经成长为在所有平台(Xamarin.*、.NET、UWP、Azure 等)上工作。

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

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

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

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

如果您选择使用 EFCore,请考虑迁移限制

于 2020-05-05T13:16:46.047 回答