【发布时间】:2017-06-14 19:15:59
【问题描述】:
我有一个要求,如果找到一个新对象,我会将其唯一 ID 添加到继承该类的所有父类中。例如 如果 C:B 和 B:A(C 扩展 B 和 B 扩展 A),则如果为 C 找到一个新对象,由于继承,该对象也是 B 和 A 类型,因此该对象进入其中一列对于包含其所有子实例的 A 和 B (childs)。因此,我想将它作为一个数组。 为此,我正在读取 A 和 B 行并获取子列,将其反序列化为数组并将其放回 db。 现在这肯定有锁定问题。 例如,如果同时发现 D:C 或 D:B 的实例,则它们都将读取相同的副本,最后一次写入将赢得擦除先前写入的实例。
有什么办法可以通过在我的事务(在本例中为读取-->更新数组-->写入)完成之前不允许其他人读取它来消除此问题。
有没有推荐的方法来解决这个问题。
【问题讨论】:
标签: sqlite sqlite-net database-locking