我在使用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]