SQLite-Net 扩展与 SQLite-Net 的兼容性 PCL(注意无句号)
SQLite-Net Extensions Compatibility with SQLite-Net PCL (note no period)
基本上我的问题归结为 SQLite-Net Extensions (NuGet Link) is compatible with Frank A. Krueger's SQLite-net PCL. As I understand it, at some point Oystein Krog created a fork to improve things in the past (possibly before Frank updated things?), so SQLite.Net PCL 是否成立。
现在有 Frank 的 "official" PCL
版本,我想坚持使用它而不是 fork。然而,目前还不清楚 SQLite-Net Extensions
是否真的只支持分叉。该站点说它支持 SQLite-net
,但依赖项说 SQLite.net
。为了我(和未来的人)的缘故,任何澄清都将不胜感激!!!
编辑:我知道 "SQLite-Net PCL" 只是 NuGet 包的名称,实际上并不是独立的 PCL。我在实际 PCL.
的代码中完全使用了这个(没有 SQLite-Net 扩展)
根据SQLite-Net Extensions documentation there is a flavor which is compatible with Frank A. Krueger's library but there is no nuget package that depends on Frank A. Krueger's nuget package
有 SQLite.Net Extensions-MvvmCross package which doesn't depend on SQLite.Net PCL but it depends on MvvmCross SQLite plugin 未从 nuget 中列出。
SQLite-Net Extensions is provided in three different flavours,
depending on the SQLite-Net version that you are using:
- SQLite-Net PCL version (also as NuGet package)
- SQLite.Net.Async-PCL version (also as NuGet package)
- MvvmCross SQLite Community version (also as NuGet package)
- SQLite-Net standard version (also as NuGet package)
我认为这里有点混乱,因为 Frank Krueger nuget 包 不是 PCL。您不能根据特定于平台的库部署 PCL 库。因此,您不会找到使用该平台特定 SQLite.Net nuget 包的 SQLite-Net 扩展包。
但是,您可以 download the SQLite-Net Extension sources and copy the source files to your project. If you take a look at the 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
,因为它得到了积极维护,并且目前正在发展更多功能(例如异步操作)。
已经有 SQLite.Net Extensions-PCL (2.0.0-alpha1) 的预发布版本(最后更新于 2016 年 8 月 13 日,星期六),它依赖于 sqlite-net-pcl (>= 1.1.2) 来自 Frank A. Krueger
https://www.nuget.org/packages/SQLiteNetExtensions/2.0.0-alpha1
基本上我的问题归结为 SQLite-Net Extensions (NuGet Link) is compatible with Frank A. Krueger's SQLite-net PCL. As I understand it, at some point Oystein Krog created a fork to improve things in the past (possibly before Frank updated things?), so SQLite.Net PCL 是否成立。
现在有 Frank 的 "official" PCL
版本,我想坚持使用它而不是 fork。然而,目前还不清楚 SQLite-Net Extensions
是否真的只支持分叉。该站点说它支持 SQLite-net
,但依赖项说 SQLite.net
。为了我(和未来的人)的缘故,任何澄清都将不胜感激!!!
编辑:我知道 "SQLite-Net PCL" 只是 NuGet 包的名称,实际上并不是独立的 PCL。我在实际 PCL.
的代码中完全使用了这个(没有 SQLite-Net 扩展)根据SQLite-Net Extensions documentation there is a flavor which is compatible with Frank A. Krueger's library but there is no nuget package that depends on Frank A. Krueger's nuget package
有 SQLite.Net Extensions-MvvmCross package which doesn't depend on SQLite.Net PCL but it depends on MvvmCross SQLite plugin 未从 nuget 中列出。
SQLite-Net Extensions is provided in three different flavours, depending on the SQLite-Net version that you are using:
- SQLite-Net PCL version (also as NuGet package)
- SQLite.Net.Async-PCL version (also as NuGet package)
- MvvmCross SQLite Community version (also as NuGet package)
- SQLite-Net standard version (also as NuGet package)
我认为这里有点混乱,因为 Frank Krueger nuget 包 不是 PCL。您不能根据特定于平台的库部署 PCL 库。因此,您不会找到使用该平台特定 SQLite.Net nuget 包的 SQLite-Net 扩展包。
但是,您可以 download the SQLite-Net Extension sources and copy the source files to your project. If you take a look at the 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
,因为它得到了积极维护,并且目前正在发展更多功能(例如异步操作)。
已经有 SQLite.Net Extensions-PCL (2.0.0-alpha1) 的预发布版本(最后更新于 2016 年 8 月 13 日,星期六),它依赖于 sqlite-net-pcl (>= 1.1.2) 来自 Frank A. Krueger
https://www.nuget.org/packages/SQLiteNetExtensions/2.0.0-alpha1