如何在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包,如果有人知道如何获得,我非常感谢)

如何在Windows Phone运行时中使用SQLiteConnection

我知道这是一个相当新的开发,但我认为他们在几个小时前更新了他们的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地狱。阳光下似乎没有什么新鲜事。

相关文章:
  • 没有找到相关文章