我从这里(https://github.com/oysteinkrog/SQLite.Net-PCL)使用 PCL 版本的 sqlite.net。
这是我的简单课程。
public class LogEntry
{
[PrimaryKey, AutoIncrement]
public int Key { get; set;}
public DateTime Date { get; set; }
}
当创建一个新的 LogEntry 实例时,Key 会自动设置为 0。我将 Date 设置为某个值,然后调用 InsertOrReplace。记录确实保存在我的数据库中。Key 字段获取自动增量值,该值恰好为 0,因为它是第一条记录。
然后我创建一个新的 LogEntry 实例(Key 自动初始化为 0)并将日期设置为其他值。然后我调用 InsertOrReplace。由于存在 Key 为 0 的现有记录,因此该记录将被更新。
处理这个问题的正确方法是什么?我考虑将密钥初始化为-1,但这似乎也不起作用。
有没有人有这个工作的例子?