SQLite.Net更新生成错误“它没有PK”

时间:2015-07-23 14:19:53

标签: xamarin sqlite-net

我在使用Xamarin的PCL中使用Lync语法。

public class settings
{

    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }

    public string user_name { get; set; }
    public string password { get; set; }
    public string server { get; set; }

}

void CreateTables()
{
    database.CreateTable<settings>();
}

void Insert()
{    
     settings s = new settings();
     s.server = "<none>"
     s.user_name = "";
     s.password = "";
     database.Insert(s)
}

void Update()
{
     settings s = database.Table<settings>().FirstOrDefault();
     s.server = server_address.Text;
     s.user_name = user_name.Text;
     s.password = pass.Text;
     database.Update(s)
}

我在更新时得到“无法更新设置:它没有PK”,但插入工作正常。我在引用SQLite.net的PCL中使用Xamarin。我是SQlite和Xamarin的新手,所以在询问更多细节时请详细说明。

更新 - 已解决

该类与我创建数据库对象实例的位置在同一名称空间中。只需将“Sqlite”添加到我的属性中就可以解决这个非常奇怪的问题。

[SQLite.PrimaryKey, SQLite.AutoIncrement]

0 个答案:

没有答案