• Gentle中的O/R映射Attributes



    在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文档和源码.

  • 相关阅读:
    Linux系统学习之网络管理
    EntityFramework 6.1.2-beta2
    微软开源的30个基础设施项目-C#
    vs2015 Android SDK
    批量删除空的文件夹
    统一者管理员指南(Unifier Administration Guide)中文
    XXX全球 IP 地址库
    mssql2008R2 RCU-6083:ALTER database FWC SET READ_COMMITTED_SNAPSHOT ON
    ORA-01843: 无效的月份,执行sql语句更改为美国语言后仍然失败的解决办法
    Win7如何安装IIS来浏览ASP网站
  • 原文地址:https://www.cnblogs.com/huqingyu/p/228016.html
Copyright © 2020-2023  润新知