PetaPoco的几个特性

在PetaPoco中,Brad并没有定义太多Attribute来修饰Models或Fields。这些为数不多的几个Attribute如下:

  • ColumnAttribute
  • ExplicitColumnsAttribute
  • IgnoreAttribute
  • PrimaryKeyAttribute
  • ResultColumnAttribute
  • TableNameAttribute

ExplicitColumnsAttribute 和 ColumnAttribute

使用ExplicitColumnsAttribute修饰的类必须为每一个属性必须使用ColumnAttribute来修饰。例如:

    [ExplicitColumns]
    public class Album
    {
        [Column("AlbumId")]
        public int AlbumId { get; set; }
        [Column("Title")]
        public string Title { get; set; }
        
        public int ArtistId { get; set; }
    }

在这个实体中,ArtistId不会被映射,如果要被映射,需要添加Column修饰。

 

IgnoreAttribute

顾名思义,如果不需要某一列映射到数据库中,可以将该列标记为Ignore,这一列就不会被映射了。

    public class Album
    {
        public int AlbumId { get; set; }
        public string Title { get; set; }
        [Ignore]
        public int ArtistId { get; set; }
    }

 

 

PrimaryKeyAttribute

这个特性是用来标记实体的,它指明了实体的主键列名、是否自增,以及用于Oracle的sequence名称。默认情况下,其autoIncrement为true,如果使用非自增列作为主键,需要设定一下,或者,干脆就不适用这个属性进行修饰。

 

TableNameAttribute

这个特性用来标记实体所对应的数据表名称。

 

ResultColumnAttribute

用来修饰属性的,Brad对其的说明是,如果某一属性只用于查询,不用于插入和更新操作时,可以用这个特性进行修饰。

 

 

 

 

 

posted @ 2012-06-19 16:58  拓荒者FF  阅读(4413)  评论(0编辑  收藏  举报