Gentle中的O/R映射Attributes

10 篇文章 1 订阅
9 篇文章 0 订阅
在Gentle中,是通过自定义特性(Attribute)来建立对象到数据的映射,这在使用上确实比较方便直观,
下面对这特性进行简单的说明, 关于特性的具体使用方法请参考.net sdk文档。

TableAttribute

在要持久化的类上声明这个特性,建立一个对象到数据表的映射关系。
Table特性有三个属性:Name用于指定数据表名称,在声明时给出;schema指定数据表的模式;CacheStrategy指定缓存策略。

TableColumnAttribute

使用这个特性可以将对象的属性映射到数据表的表上,即建立属性到数据表列的映射关系。
TableColumn特性的属性:Name用于指定列名称;NotNull是否允许为空;Size指定列长度, 其它属性请参考源文档。
TableColumn特性可以应用于属性和字段上。

PrimaryKeyAttribute

使用这个特性可以指定对象的属性为数据表的主健,这个特性必须和TableColumn特性一起使用。
PrimaryKey特性只有一个属性:AutoGenerated用于指定主健是否由数据库自动产生。

ForeignKeyAttribute

使用这个特性标记属性会引用另一个表中的数据,即建立外健关联关系, 这个特性用于处理一对多和多对多的情况。
ForeignKey特性有二个属性:ForeignTable用于指定外表的名称;ForeignColumn指定外表中关联的列。
有点奇怪的是这两个属性并不是使用对象名和属性名(这样使用应该完全没问题)?

ConcurrencyAttribute, SoftDeleteAttribute

这两个特性指定对象的属性支持并发控制的行版本数,在更新时,只有匹配行版本数才能被更新。

CustomViewAttribute

这个特性指定对象的属性被一个命名DataView所包含,一个属性可以同时被多个命名DataView所包含。
CustomView特性的属性:ViewName用于指定DataView的名称,注意这个名称并不是DataView对象的名称,它仅在Gentle内部使用;ColumnIndex指定列在DataView中的位置;ColumnName指定列的名称,此名称并不是数据列的名称,它是指属性在DataView中列的名称。

其它定制特性,请自行参考Gentle文档和源码.

在下篇文章中,我们将用这些特性来建立一个示例应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值