[英]How to use SQLiteConnection in Windows Phone Runtime?
我想在Windows Phone运行时应用程序中使用SQL关系。 所以看来我需要使用SQLite-net Extensions
我已经引用了这些文件:
SQLite.Net
SQLiteNetExtensions
SQLite for Windows Phone 8.1
但是当我想建立连接时:
var connection = new SQLiteConnection( ... );
它需要实现ISQLitePlatform
接口。 如何获得参数值?
(似乎没有适用于Windows Phone Runtime
的现成的SQLite Net Extensions
软件包,如果有人知道如何获取它,我将不胜感激)
如果已正确安装所有组件,则参数仅为数据库文件的位置+ file_name。 像这样:
string dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "db.sqlite");
using (var db = new SQLiteConnection(dbPath))
{
db.RunInTransaction(() =>
{
// ....
});
}
db.sqlite可以是您想要的任何东西,它只是存储文件夹中文件的名称(但是它必须存在,因此您需要首先创建它)
一些有用的链接:
我知道这是一个相当新的发展,但我认为他们在几个小时前更新了他们的nuget软件包:
现在应该可以工作了。
从3.1.1版开始,SQLite.Net-PCL更改了其API。 根据他们在github项目中的自述文件:
现在,您必须在SQLiteConnectionWithLock和SQLiteConnection构造函数中传入ISQlitePlatform的实现。 正确的平台实现会自动添加到项目中。
对于WinPhone81项目,这对我有用:
var conn = new SQLiteConnection( new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), path);
我有三个相关的Nuget pkg:SQLite.Net.Core-PCL(v3.1.1)SQLite.Net-PCL(v3.1.1)SQLiteNetExtensions(v1.3.0)
另外,还有一个针对Windows Phone 8.1的SQLite的库引用(按照SQLite.Net-PCL自述文件上的说明手动添加),以及一个由我在添加时由Nuget pkg安装程序添加的对SQLite.Net.Platform.WinRT的库引用。 SQLiteNetExtensions的pkg。
这完全使人想起了.Net诞生之前的旧式DLL地狱。 似乎在阳光下没有新事物。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.