原文:http://www.entityframeworktutorial.net/code-first/dataannotation-in-code-first.aspx
EF Code-First提供了一组DataAnnotation属性,您可以将其应用于您的域类和属性。 DataAnnotation属性覆盖默认的Code-First约定。
System.ComponentModel.DataAnnotations包括影响列的可空性或大小的属性。
System.ComponentModel.DataAnnotations.Schema命名空间包含影响数据库模式的属性。
注意:DataAnnotations仅给您一个配置选项的子集。 Fluent API提供了Code-First中提供的一整套配置选项。
System.ComponentModel.DataAnnotations
Key---映射到相关表的主键
Timestamp ---不为空的时间戳列
ConcurrencyCheck---标编辑或删除实体时,标记用于在数据库中进行并发检查的一个或多个属性
Required---必填
MinLength---最小长度
MaxLength---最大长度,也是设置数据库列的最大长度
StringLength---字符串长度
System.ComponentModel.DataAnnotations.Schema
Table---指定将与该类映射的DB表的名称
Column---指定要与属性映射的列名称和数据类型
Index---创建指定列的索引(EF 6.1+)
ForeignKey---指定导航属性的外键属性
NotMapped---指定该属性将不会与数据库映射
DatabaseGenerated---指定该属性将映射到数据库表的计算列。 所以,该属性将是只读属性。 它也可以用于将属性映射到标识列(自动增量列)。
InverseProperty---当两个类之间有多个关系时使用。
ComplexType---将类标记为EF中的复杂类型
后面的章节,我们将逐个属性进行讲解。