Xamarin.Forms 中的 SQLite-Net-Pcl
SQLite-Net-Pcl in Xamarin.Forms
我正在尝试从 Xamarin.Forms 学习 SQLite 及其用法。我发现建议安装 Sqlite-net-pcl 作为 NuGet 包并使用它来创建、打开、修改数据库。到那时一切都很好。但是,我正在努力在网上找到有关 Sqlite-net-pcl 的更多详细信息。看来,该库没有全面的文档。这个现实给我带来了一些问题,我相信我可以从 Whosebug 的前辈那里得到答案:
1-如果没有您尝试使用的库的文档,快速学习它的最佳方法是什么?试错?在那种情况下,我认为需要完整的 class 层次结构。
2-据我所知,Sqlite-net-pcl 是 Sqlite 的部分实现。例如,在 Sqlite 的文档中说,支持外键,但应该启用。但是,当我使用VisualStudio的ObjectBrowser工具时,在Sqlite-net-Pcl中找不到这个属性。
3-考虑到 SQLite 有更好的支持,如果我想直接在 xamarin.forms(c#) 中使用 SQLite 而不是它的派生版本 (Sqlite-net-pcl) 我该如何实现?
最好使用 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.).
关于外键 - 没有任何限制。无需任何 "enabling".
即可自由使用
还有一些其他选项,例如 Microsoft.Data.SQLite
和 System.Data.SQLite
,但我没有在 Xamarin 中尝试过它们,如果它们有效,我认为它们不会更好地支持Mono,就像您在 SQLite-net 中使用的那样。后者也在不断更新中
Here是微软官方关于使用sqlite-net-pcl
的教程
如果您想使用 ORM,可以按照官方文档中的 article 了解如何设置 SQLite 库,以及 EFCore 包、迁移等。
如果您选择使用 EFCore,请考虑 Migration Limitations。
我正在尝试从 Xamarin.Forms 学习 SQLite 及其用法。我发现建议安装 Sqlite-net-pcl 作为 NuGet 包并使用它来创建、打开、修改数据库。到那时一切都很好。但是,我正在努力在网上找到有关 Sqlite-net-pcl 的更多详细信息。看来,该库没有全面的文档。这个现实给我带来了一些问题,我相信我可以从 Whosebug 的前辈那里得到答案:
1-如果没有您尝试使用的库的文档,快速学习它的最佳方法是什么?试错?在那种情况下,我认为需要完整的 class 层次结构。
2-据我所知,Sqlite-net-pcl 是 Sqlite 的部分实现。例如,在 Sqlite 的文档中说,支持外键,但应该启用。但是,当我使用VisualStudio的ObjectBrowser工具时,在Sqlite-net-Pcl中找不到这个属性。
3-考虑到 SQLite 有更好的支持,如果我想直接在 xamarin.forms(c#) 中使用 SQLite 而不是它的派生版本 (Sqlite-net-pcl) 我该如何实现?
最好使用 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.).
关于外键 - 没有任何限制。无需任何 "enabling".
即可自由使用还有一些其他选项,例如 Microsoft.Data.SQLite
和 System.Data.SQLite
,但我没有在 Xamarin 中尝试过它们,如果它们有效,我认为它们不会更好地支持Mono,就像您在 SQLite-net 中使用的那样。后者也在不断更新中
Here是微软官方关于使用sqlite-net-pcl
的教程如果您想使用 ORM,可以按照官方文档中的 article 了解如何设置 SQLite 库,以及 EFCore 包、迁移等。
如果您选择使用 EFCore,请考虑 Migration Limitations。