CSLA .NET框架:对象状态管理与父子对象关系解析
1. 对象状态管理
在CSLA .NET框架中,对象的删除操作有立即删除和延迟删除两种方式。
- 立即删除 :直接从数据库中删除对象的数据,无需先将对象加载到内存中,但需要事先知道对象的主键值。
- 延迟删除 :需要先将对象加载到内存中,用户可以查看和操作对象的数据,若决定删除对象,则将其标记为待删除。对象不会立即被删除,而是在保存到数据库时才被删除。这种方式对于集合中的子对象特别有用,用户可以同时添加、更新和删除子对象,所有操作会在集合保存到数据库时批量执行。
对象是否被标记为删除由 _isDeleted 字段跟踪,并通过 IsDeleted 属性暴露:
private bool _isDeleted;
[Browsable(false)]
public bool IsDeleted
{
get { return _isDeleted; }
}
该属性与其他状态属性一样,不能用于数据绑定。
还有一个受保护的 MarkDeleted 方法,用于在必要时将对象标记为待删除:
protected void MarkDeleted()
{
_isDeleted = true;
MarkDirty();
}
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



