由于
Android 7.0 SQlite问题,我最近从SQLite.NET转到了SQLite-net-pcl.
在这个过程中,我已经更新了我的所有库,并且在插入/删除等方面都运行良好.
我唯一的问题是,每次从数据库中检索项目时,它的ID始终为0.这会导致更新项目时出现问题.以前有人有这个问题吗?
[SQLite.PrimaryKey, SQLite.AutoIncrement]
public int ID { get; set; }
public string objectId { get; set; }
public DateTime createdAt { get; set; }
public DateTime updatedAt { get; set; }
public string Title { get; set; }
提前致谢.
最佳答案 有几乎相同的情况.
所有行返回id为0
class ToDo : Java.Lang.Object
{
[PrimaryKey, AutoIncrement]
public int ID { get; }
除了我只是忘了键入set;在该物业.
有一点可能帮助有这种问题的人正在使用
GetMapping()方法获取有关使用CreateTable()创建表时使用的映射的一些信息.
例如:
Toast.MakeText(this, db.GetMapping<ToDo>().TableName.ToString(), ToastLength.Long).Show();
Toast.MakeText(this, db.GetMapping<ToDo>().HasAutoIncPK.ToString(), ToastLength.Long).Show();
使用这个我发现我的桌子上没有设置AutoIncrement(HasAutoIncPK = false).