5

基本上我的问题归结为SQLite-Net Extensions ( NuGet Link ) 是否与 Frank A. Krueger 的SQLite-net PCL兼容。据我了解,Oystein Krog 在过去的某个时候创建​​了一个分支来改进事物(可能在 Frank 更新事物之前?),因此SQLite.Net PCL应运而生。

现在有一个PCLFrank 的“官方”版本,我想坚持使用它而不是 fork。然而,目前还不清楚是否SQLite-Net Extensions真的只支持分叉。该网站说它支持SQLite-net,但依赖项说SQLite.net。为了我(和未来的人)的缘故,任何澄清都将不胜感激!!!

编辑:我知道“SQLite-Net PCL”只是 NuGet 包的名称,实际上并不是独立的 PCL。我有这个(没有 SQLite-Net 扩展)在实际 PCL 中的代码中完全工作。

4

3 回答 3

3

SQLite.Net Extensions-PCL (2.0.0-alpha1) 已经有一个预发布版本(最后更新于 2016 年 8 月 13 日星期六),它依赖于 Frank A. Krueger 的 sqlite-net-pcl (>= 1.1.2)

https://www.nuget.org/packages/SQLiteNetExtensions/2.0.0-alpha1

于 2016-09-22T09:19:55.090 回答
2

根据SQLite-Net Extensions 文档,有一种与 Frank A. Krueger 的库兼容的风格,但没有依赖于Frank A. Krueger 的 nuget 包的 nuget 包

SQLite.Net Extensions-MvvmCross包,它不依赖于 SQLite.Net PCL,但它依赖于nuget 中未列出的MvvmCross SQLite 插件

SQLite-Net Extensions 提供三种不同的风格,具体取决于您使用的 SQLite-Net 版本:

  • SQLite-Net PCL 版本(也作为 NuGet 包)
  • SQLite.Net.Async-PCL 版本(也作为 NuGet 包)
  • MvvmCross SQLite 社区版(也作为 NuGet 包)
  • SQLite-Net 标准版(也作为 NuGet 包)
于 2016-04-20T17:56:14.807 回答
0

我认为这里有点混乱,因为 Frank Krueger nuget 包不是PCL。您不能根据特定于平台的库来部署 PCL 库。因此,您不会找到使用该平台特定 SQLite.Net nuget 包的 SQLite-Net Extensions 包。

但是,您可以只下载 SQLite-Net 扩展源并将源文件复制到您的项目中。如果您查看 sources,您会发现,除非另有定义,否则它将使用 Frank 的SQLite包。

#if USING_MVVMCROSS
using SQLiteConnection = Cirrious.MvvmCross.Community.Plugins.Sqlite.ISQLiteConnection;
#elif PCL
using SQLite.Net;
using SQLite.Net.Attributes;
#else
using SQLite;
#endif

我已经有一段时间没有测试过了,但它应该可以工作。

但是,我建议您坚持使用它,SQLite-Net PCL因为它正在积极维护并且目前正在发展更多功能(如异步操作)。

于 2016-04-21T16:12:16.883 回答