基本上我的问题归结为SQLite-Net Extensions(NuGet Link)是否与Frank A. Krueger的SQLite-net PCL兼容。据我了解,在某些时候,Oystein Krog在过去创建了一个改进事物的分叉(可能在Frank更新之前?),所以SQLite.Net PCL就出现了。
现在有一个"官员"弗兰克的PCL
版本,我想坚持下去,而不是岔路口。但是,不清楚SQLite-Net Extensions
是否实际上只支持fork。该网站表示它支持SQLite-net
,但依赖关系代表SQLite.net
。我的(以及未来的人)清酒的任何澄清都将非常感激!!!
编辑:我知道" SQLite-Net PCL"只是NuGet包的名称,实际上不是一个独立的PCL。我有这个(没有SQLite-Net Extensions)在我的代码中完全在一个实际的PCL中工作。
答案 0 :(得分:2)
根据SQLite-Net Extensions documentation,有一种与Frank A. Krueger的图书馆兼容的风格,但没有依赖于Frank A. Krueger's nuget package的nuget套餐
SQLite.Net Extensions-MvvmCross包不依赖于SQLite.Net PCL,但依赖于MvvmCross SQLite plugin来自nuget的未列出。
SQLite-Net Extensions提供三种不同的风格, 取决于您使用的SQLite-Net版本:
- SQLite-Net PCL版本(也作为NuGet包)
- SQLite.Net.Async-PCL版本(也作为NuGet包)
- MvvmCross SQLite社区版(也作为NuGet包)
- SQLite-Net标准版(也称为NuGet包)
答案 1 :(得分:2)
对于依赖于sqlite-net-pcl(> = 1.1)的SQLite.Net Extensions-PCL(2.0.0-alpha1),已经有一个预发布版本(最后更新于2016年8月13日星期六) .2)来自Frank A. Krueger
https://www.nuget.org/packages/SQLiteNetExtensions/2.0.0-alpha1
答案 2 :(得分:0)
我认为这里有点混乱,因为Frank Krueger nuget包是不 PCL。您无法根据特定于平台的库部署PCL库。因此,您无法找到使用该平台特定的SQLite.Net nuget包的SQLite-Net Extensions包。
但是,您只需download the SQLite-Net Extension sources并将源文件复制到项目中即可。如果您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
,因为它已经过积极维护,并且目前正在进行更多功能(如异步操作)。