/// <summary>
/// 删除子对象,并删除父子关系
/// </summary>
/// <param name="parent">父对象</param>
/// <param name="child">子对象</param>
public virtual void Delete(Object parent, Object child)
{
try
{
//1.先从单值属性中删除对象
DeleteSinglevaluedMember(parent, child);
}
catch (ObjectNotExistException)
{
//2.没有找到该对象,再从多值属性中查找子对象
DeleteMultivaluedMember(parent, child);
//还是没有找到会抛出ObjectNotExistException
}
}
/// 删除子对象,并删除父子关系
/// </summary>
/// <param name="parent">父对象</param>
/// <param name="child">子对象</param>
public virtual void Delete(Object parent, Object child)
{
try
{
//1.先从单值属性中删除对象
DeleteSinglevaluedMember(parent, child);
}
catch (ObjectNotExistException)
{
//2.没有找到该对象,再从多值属性中查找子对象
DeleteMultivaluedMember(parent, child);
//还是没有找到会抛出ObjectNotExistException
}
}
2. 使用SQLite时有时候会导致死锁。
这是是因为在读取一个对象时,reader并没有关闭,数据库被锁定,不能进行其它的操作。SQLite要求在执行Select时,不能insert和update,而其它的大型数据库没有这样的问题。程序设计时,力求避免出现该问题。
3.配置工具问题(已经解决)
4.在子对象中,ID值一样,但是类型不同不能保存的问题(已经解决)