您必须根据项目类型安装正确的 VS 扩展。对于通用应用程序,正确的扩展名为“通用应用程序平台的 SQLite”,可以在此处下载:https://visualstudiogallery.msdn.microsoft.com/4913e7d5-96c9-4dde-a1a1-69820d615936?SRC=VSIDE。对于 WP 8.1 项目,正确的扩展名是 SQLite for Windows Phone 8.1。
接下来,您必须在您的项目中添加一个引用(可用于之前的扩展):References > Universal Windows > Extensions > SQLite for Universal App Platform。
为简单起见,您需要一个 nuget 包:SQLite-Net-PCL(保留大小写)。
在代码中,你可以创建一个带有一些属性的实体:
public class Test
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Value { get; set; }
}
接下来,您可以通过这种方式打开连接填充并读取数据库:
await Task.Run(() =>
{
ISQLitePlatform platform = new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT();
using (SQLiteConnection connection = new SQLiteConnection(platform, Path.Combine(ApplicationData.Current.LocalFolder.Path, "mydb.db")))
{
connection.CreateTable<Test>(); // create if not exists
var test = new Test
{
Value = "test"
};
connection.Insert(test);
//var lastInsertedId = platform.SQLiteApi.LastInsertRowid(connection.Handle);
var lastInsertedId = test.Id; // more simple
var value = connection.Find<Test>(lastInsertedId);
Debug.WriteLine(value);
}
});
注意:api 是完全同步的,所以 Task.Run(就像我的示例中一样)可能是一个很好的做法。