SQLite-net-pcl – 始终将ID返回为0(Xamarin)

由于
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).

点赞