DataAnnotation特性列举

DataAnnotation 特性由.NET 3.5中引进,给.NET中的类提供了一种添加验证的方式。
DataAnnotation由命名空间System.ComponentModel.DataAnnotations提供。下面列举实体模型中常用的DataAnnotation特性:

KeyAttribute:对数据库中表的主键的设置
[Key]
public int OrderID { get; set; }

 

RequiredAttribute:对应数据库中字段的数据是否可以为null
[Required]
public string OrderName { get; set; }

 

MaxLengthAttribute:对应数据库中字符串类型字段的最大长度
[MaxLength(60)]
public string Employee{get;set;}

 

MinLengthAttribute:在数据库中无对应,但在代码中字符串最小长度
[MaxLength(60),MinLength(10)] 
public string Employee{get;set;}

 

ConcurrencyCheckAttribute:指定用于开放式并发检查的列的数据类型
[ConcurrencyCheck]
public string Address { get; set; }

 

TimestampAttribute:将列的数据类型指定为行版本
[Timestamp]
public byte[] TimeStamp { get; set; }

System.ComponentModel.DataAnnotations命名空间中只定义了部分实体验证的特性,在EntityFramework程序集中定义了更多的数据映射特性

 

DatabaseGeneratedAttribute:标记指定实体属性是由数据库生成的,并指定生成策略(None数据库不生成值,Identity当插入行时,数据库生成值,Computed当插入或更新行时,数据库生成值)
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public DateTime CreateDate { get; set; }

 

ColumnAttribute:指定实体属性在数据库中的列名及数据类型
[Column("Notes", TypeName = "ntext")]
public string Note { get; set; }

 

TableAttribute:指定实体类对应的数据表名
[Table("Order",Schema="Order")]
public class Order

 

ForeignKeyAttribute:指定导航属性的外键字段
public class Customer
{
    public int ID { get; set; }
 
    public string Name { get; set; }
}
[ForeignKey("ID")]
public Customer customer { get; set; }

 

NotMappedAttribute:标记指定实体属性在创建数据库中不创建对应字段
[NotMapped]
public string PhotoPath { get; set; }

 

ComplexTypeAttribute:标记指定实体属性是将一个对象作为另一个对象的属性,映射到数据库中则子对象表现为多个属性字段
[ComplexType]
public class Name
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
    public Name Name { get; set; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值