Updatewithchildren SQLite.net扩展不替换旧元素

时间:2017-02-17 10:56:17

标签: c# sqlite-net

我使用SQLite扩展来创建数据库。 OnetoOne关系和ManytoOne关系工作正常,我使用InsertorReplacewithChildren来管理新元素和修改元素。但是当谈到OnetoMany的关系时,我遇到了一些问题。 关注SQLite-Net Extensions Manual我在我的父类中添加了这个:

[PrimaryKey, AutoIncrement]
    public int ID_child { get; set; }
...
[OneToMany(CascadeOperations = CascadeOperation.All)]
    public List<ClinicalTest> ClinicalTests_DB { get; set; }

这在我的孩子班上:

[PrimaryKey, AutoIncrement]
    public int ID_clinicaltest { get; set; }

[ForeignKey(typeof(Child))]
    public int ID_child { get; set; }

问题是,如果我在ClinicalTest中更改某个元素的某些字段并调用UpdatewithChildren(FatherClassInstance)或InsertorReplacewithChildren(FatherClassInstance),结果是在ClinicalTests表中我有两行:一行是更新的元素(用正确的foreingkey),一个是旧元素(没有任何foreingkey) 我本来期望只有一行有更新的元素。 我做错了吗? 我应该手动清理这些无用的元素吗? 谢谢,
亚历

1 个答案:

答案 0 :(得分:0)

没什么,抱歉这件事 在我的代码中,临床测试的ID已经丢失了#34;在一些段落中。这就是问题的原因。

相关问题