如何在visual studio 2015中为通用应用程序创建本地数据库?
我找不到任何解决方案。我发现了一些解决方案,比如Windows phone8.1的SQLite,但这些解决方案在VS2015中是不可用的。有人能帮我创建这个本地数据库吗?
我想创建一个WP8.1应用程序,并有一个本地数据库的电话本身。我不想要任何像Azure这样的在线数据库。
发布于 2016-01-04 16:05:59
您必须根据项目类型安装正确的VS扩展。对于通用应用程序,正确的扩展名为“通用应用程序平台的SQLite”,可以在这里下载:https://visualstudiogallery.msdn.microsoft.com/4913e7d5-96c9-4dde-a1a1-69820d615936?SRC=VSIDE。对于WP8.1项目,正确的扩展名是SQLite For Windows phone8.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);
}
});
注意:该应用编程接口是完全同步的,因此Task.Run (如我的示例)可能是一个很好的实践。
https://stackoverflow.com/questions/32488464
复制