28、CSLA .NET框架:对象状态管理与父子对象关系解析

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();
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值