DevExpress XPO笔记2:XPO四大基类介绍
要将XPO对象的持久化,需要将该对象的类继承于以下类中的某一个:
- XPBaseObject
- XPLiteObject
- XPCustomObject
- XPObject
这四个类的继承关系是:
如果通过ORM创建数据实体,则它们的类都默认继承自XPObject,可以通过下面截图中切换这四个类。为了方便演示,下图4个类中分别指定基类为:
ClassA:XPLiteObjec
ClassB:XPBaseObjec
ClassC:XPCustomObject
ClassD:XPObject
如果这时保存,VS会提示错误信息,提示ClassA、ClassB、ClassC不包含主键:
这就说明了除了XPObject外,另三个类不提供主键,因此需要为ClassA、ClassB、ClassC分别设置主键和数据类型
然后在保存就可以了。
我们进入数据库查看这四类表的区别:
- ClassA:XPLiteObjec
- 只有默认的id和Name字段
- ClassB:XPBaseObjec
- 除了id和Name字段,还多出一个OptimisticLockField乐观锁标志位
- 乐观锁相当于一个版本标志,当数据更新时,通过判断此标志的值来确定更新的数据是否有效
- ClassC:XPCustomObject
- 比B表又多生出一个GCRecord字段
- GCRecord字段它是非物理删除的标志,删除数据时,通过更改此标志来表示数据是否有效,而不是直接从数据库删除
- ClassD:XPObject
- 自动生成了C表所有字段和主键OID字段
因此在应用中,我们可以根据不同的需要,继承自不同的类。
分类:
DevExpress
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~