Oracle具有什么特性,Oracle-实体特性

实体特性

实体特性位于命名空间 Chloe.Annotations(v2.x版本为Chloe.Entity) 下。

TableAttribute:

Name:映射的表名。

实体对应的表默认是实体类名,如实体类型名与表名不一致,可通过该特性指定映射的表名。

public class TableAttribute : Attribute

{

public TableAttribute();

public TableAttribute(string name);

public string Name { get; set; }

public string Schema { get; set; }

}

ColumnAttribute:

Name:映射的列名,如不指定,则默认使用属性名。

IsPrimaryKey:指示列是否为主键,默认为 false。

注:1. 如果一个实体没显示指定主键,Chloe 默认选择名为 Id 的属性(如果存在)作为主键。2. 如果实体没有显式指定任何自增列并且主键为 Int16、Int32 或者 Int64 类型,则会默认主键为自增列(触发器实现的自增)。如若不是自增列,可使用特性 NonAutoIncrementAttribute 标记。

public class ColumnAttribute : Attribute

{

public ColumnAttribute();

public ColumnAttribute(string name);

public string Name { get; set; }

public bool IsPrimaryKey { get; set; }

public DbType DbType { get; set; }

public int Size { get; set; }

public int Scale { get; set; }

public int Precision { get; set; }

}

AutoIncrementAttribute:

标记属性为自增列(触发器实现的自增),v3.9.0开始支持。一个实体不能指定多个自增列,否则会报异常提示。

public class AutoIncrementAttribute : Attribute

{

public AutoIncrementAttribute();

}

NonAutoIncrementAttribute:

标记属性为非自增列。

public class NonAutoIncrementAttribute : Attribute

{

public NonAutoIncrementAttribute();

}

SequenceAttribute:

标记属性通过序列实现自增,需要指定序列名称。

public class SequenceAttribute : Attribute

{

public SequenceAttribute(string name);

public string Name { get; }

}

NotMappedAttribute:

指示属性不映射任何列。

public class NotMappedAttribute : Attribute

{

public NotMappedAttribute();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值