0
我有以下两个类。 当我将多个项目(B)保存在其中时,我会得到预期的结果。 但是,当我保存对A的更改时,比如空的List of Items(B),我希望表B中的所有元素都会自动被删除,因为它们在任何地方都没有被引用(分别查询它们并不是)。 而是表中的每个项目的外键(IDofA)都设置为Null。 在我的情况下,这导致无限增长的表(B),因为A的某些对象从不删除,只是更新。SQLite.Net扩展 - 删除更新中的子项
public class A
{
public string Name{ get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)]
public List<B> Items { get; set; }
}
public class B
{
[ForeignKey(typeof(A))]
public string IDofA { get; set; }
}
//This is the Generic Save Method that I use for all the Objects
public virtual void Save(T element)
{
CreateID(element);
if (!RuntimeCache.Any(x => x.ID == element.ID))
{
RuntimeCache.Add(element);
}
element.UpdateChangeDate();
RunDBQueryAsync((conn) =>
{
conn.InsertOrReplaceWithChildren(element);
});
}
我一直希望有对于配置... 无论如何,感谢最简单的办法。 –