如何在Windows Phone运行时中使用SQLiteConnection
本文关键字:SQLiteConnection 运行时 Phone Windows | 更新日期: 2023-09-27 18:26:31
我想在我的Windows Phone Runtime应用程序中使用SQL关系。看来我需要使用SQLite-net Extensions
我已经参考了这些文件:
SQLite.Net
SQLiteNetExtensions
SQLite for Windows Phone 8.1
但当我想连接时:
var connection = new SQLiteConnection( ... );
它需要实现ISQLitePlatform
接口。如何获取参数值?
(似乎Windows Phone Runtime
还没有现成的SQLite Net Extensions
包,如果有人知道如何获得,我非常感谢)
我知道这是一个相当新的开发,但我认为他们在几个小时前更新了他们的nuget包:
https://bitbucket.org/twincoders/sqlite-net-extensions/issue/27/error-while-adding-sqlite-net-extension-to
现在应该可以了。
如果一切都安装好了,那么参数只是数据库文件的位置+文件名。像这样:
string dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "db.sqlite");
using (var db = new SQLiteConnection(dbPath))
{
db.RunInTransaction(() =>
{
// ....
});
}
db.sqlite可以是你想要的任何东西,它只是存储文件夹中文件的名称(但它必须存在,所以你需要先创建它)
一些有用的链接:
Sqlite for Universal Windows
SQLite for Windows Phone 8.1
SQLite.Net-PCL自3.1.1版起更改了其API。根据他们github项目中的自述文件:
您现在必须在SQLiteConnectionWithLock和SQLiteConnection构造函数。这个正确的平台实现会自动添加到项目中。
这就是我在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)
还有一个对SQLite for Windows Phone 8.1的库引用(根据SQLite.Net-PCL自述文件上的说明手动添加),以及对SQLite.Net.Platform.WinRT的库引用,这是Nuget pkg安装程序在我为SQLiteNetExtensions添加pkg时添加的。
这一切都让人想起.Net诞生之前发生的老式DLL地狱。阳光下似乎没有什么新鲜事。