标签:XPO ClassB XPObject 笔记 ClassC 字段 基类 ClassA 主键
要将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字段
因此在应用中,我们可以根据不同的需要,继承自不同的类。
标签:XPO,ClassB,XPObject,笔记,ClassC,字段,基类,ClassA,主键 来源: https://www.cnblogs.com/east115/p/16683119.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。