我正在尝试从SQLite中学习Xamarin.Forms及其用法。我发现建议将Sqlite安装为NuGet包,并利用它创建、打开和修改数据库。到那时为止一切都很好。然而,我很难在网上找到更多关于Sqlite的细节.看来,这个图书馆没有一个全面的文档。这个现实给我带来了一些问题,我相信我可以从斯塔克溢流的老年人那里得到答案:
1-如果没有你想要使用的库的文档,那么快速学习它的最好方法是什么?试错?在这种情况下,我认为需要完整的类层次结构。据我所知,Sqlite是Sqlite的部分实现.例如,在Sqlite的文档中,据说支持外键,但应该启用。但是,当我使用ObjectBrowser工具VisualStudio时,在Sqlite中找不到这个属性。
考虑到SQLite有更好的支持,如果我想直接在xamarin.forms(c#)中使用SQLite而不是它的派生版本(Sqlite),我如何实现这一点?
发布于 2020-05-05 13:16:46
最好使用SQLite-net库。它们只是SQLite流的包装器。你在那里有你需要的一切。此外,如果您想使用ORM,也可以通过EntityFrameworkCore通过Microsoft.EntityFrameworkCore.Sqlite使用
就像GitHub存储库里说的
SQLite-net是一个开放源码的最小库,允许.NET、.NET Core和Mono应用程序将数据存储在SQLite 3数据库中。它最初是为与Xamarin.iOS一起工作而设计的,但从那以后,它已经成长为在所有平台(Xamarin.*、.NET、UWP、Azure等)上工作。
关于外键-没有任何限制。您可以自由地使用它,而不需要任何“启用”。
还有一些其他的选项,如Microsoft.Data.SQLite & System.Data.SQLite,但我还没有尝试使用Xamarin,如果它们有效的话,我不认为它们会更好地支持Mono,就像您在SQLite-net中所拥有的那样。后者也是不断更新的。
这里是微软关于使用sqlite的官方教程。
如果您想使用ORM,可以从正式文档中了解如何设置文章库,以及EFCore包、迁移等。
如果您选择使用EFCore,请考虑移徙限制。
https://stackoverflow.com/questions/61613075
复制相似问题