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。
注:如果一个实体没显式指定主键,Chloe 默认选择名为 Id 的属性(如果存在)作为主键

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; }
}

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

public class SequenceAttribute : Attribute
{
    public SequenceAttribute(string name);

    public string Name { get; }
}

NotMappedAttribute:
指示属性不映射任何列。

public class NotMappedAttribute : Attribute
{
    public NotMappedAttribute();
}

Fluent Mapping
Chloe.ORM 亦支持 Fluent Mapping,具体参考:
http://www.52chloe.com/Wiki/Document/1012941695404347392