Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Visual Studio 2015中为universal app创建本地数据库?_C#_Database_Windows Phone 8.1_Visual Studio 2015_Win Universal App - Fatal编程技术网

C# 如何在Visual Studio 2015中为universal app创建本地数据库?

C# 如何在Visual Studio 2015中为universal app创建本地数据库?,c#,database,windows-phone-8.1,visual-studio-2015,win-universal-app,C#,Database,Windows Phone 8.1,Visual Studio 2015,Win Universal App,如何在visual studio 2015中为universal app创建本地数据库 我找不到任何解决办法。我找到了一些解决方案,如针对Windows Phone 8.1的SQLite,但这些解决方案在VS2015中不可用。有人能帮我创建这个本地数据库吗 我想创建一个WP 8.1应用程序,并为手机本身建立一个本地数据库。我不想要任何像Azure这样的在线数据库。您必须根据项目类型安装正确的VS扩展。对于通用应用程序,正确的扩展名为“SQLite For universal app Platfo

如何在visual studio 2015中为universal app创建本地数据库

我找不到任何解决办法。我找到了一些解决方案,如针对Windows Phone 8.1的SQLite,但这些解决方案在VS2015中不可用。有人能帮我创建这个本地数据库吗


我想创建一个WP 8.1应用程序,并为手机本身建立一个本地数据库。我不想要任何像Azure这样的在线数据库。

您必须根据项目类型安装正确的VS扩展。对于通用应用程序,正确的扩展名为“SQLite For universal app Platform”,可以在此处下载:。对于WP 8.1项目,正确的扩展是SQLite For Windows Phone 8.1

接下来,您必须在您的项目中添加一个引用(可用于上一个扩展):References>universalwindows>Extensions>SQLite for universalapp平台

为了简单起见,您需要一个nuget包:SQLite-Net-PCL(keep-case)

在代码中,可以创建具有某些属性的实体:

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);
    }
});
等待任务。运行(()=>
{
isqliteformplatform=new SQLite.Net.platform.WinRT.SQLitePlatformWinRT();
使用(SQLiteConnection连接=新的SQLiteConnection(平台,Path.Combine(ApplicationData.Current.LocalFolder.Path,“mydb.db”))
{
connection.CreateTable();//如果不存在则创建
var测试=新测试
{
Value=“测试”
};
连接。插入(测试);
//var lastinertedid=platform.SQLiteApi.lastinertrowid(connection.Handle);
var lastInsertedId=test.Id;//更简单
var值=connection.Find(lastInsertedId);
Debug.WriteLine(值);
}
});

注意:api是完全同步的,因此Task.Run(就像我的示例中一样)可能是一个很好的实践。

您必须根据项目类型安装正确的VS扩展。对于通用应用程序,正确的扩展名为“SQLite For universal app Platform”,可以在此处下载:。对于WP 8.1项目,正确的扩展是SQLite For Windows Phone 8.1

接下来,您必须在您的项目中添加一个引用(可用于上一个扩展):References>universalwindows>Extensions>SQLite for universalapp平台

为了简单起见,您需要一个nuget包:SQLite-Net-PCL(keep-case)

在代码中,可以创建具有某些属性的实体:

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);
    }
});
等待任务。运行(()=>
{
isqliteformplatform=new SQLite.Net.platform.WinRT.SQLitePlatformWinRT();
使用(SQLiteConnection连接=新的SQLiteConnection(平台,Path.Combine(ApplicationData.Current.LocalFolder.Path,“mydb.db”))
{
connection.CreateTable();//如果不存在则创建
var测试=新测试
{
Value=“测试”
};
连接。插入(测试);
//var lastinertedid=platform.SQLiteApi.lastinertrowid(connection.Handle);
var lastInsertedId=test.Id;//更简单
var值=connection.Find(lastInsertedId);
Debug.WriteLine(值);
}
});
注意:api是完全同步的,因此Task.Run(就像我的示例中一样)是一个很好的实践。

您可以使用您可以使用的