转载地址:http://www.cnblogs.com/libingql/archive/2012/03/27/2420225.html
EF Code First的属性规则及配置主要分为以下内容:
1、长度
Data Annotation:MinLength(n)、MaxLength(n)、StringLength(n)
Fluent:Entity<T>.Property(t=>t.PropertyName).HasMaxLength(n)
2、数据类型
Data Annotation:Column(TypeName=“xxx”)
Fluent:Entity<T>.Property(t=>t.PropertyName).HasColumnType (“xxx”)
3、不可空
Data Annotation:Required
Fluent:Entity<T>.Property(t=>t.PropertyName).IsRequired()
4、主键
Data Annotation:Key
Fluent:Entity<T>.HasKey(t=>t.PropertyName)
非默认惯例属性主键设置,即属性名称不为ID或[类名]ID:
1 [Key]
2 public Guid Identifier { get; set; }
1 modelBuilder.Entity<Category>().HasKey(t => t.Identifier)
5、数据库自动生成值
1 [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]
2 public Guid Identifier { get; set; }
1 modelBuilder.Entity<Trip>()
.HasKey(t => t.Identifier)
.Property(t => t.Identifier)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
6、Decimal精度
Data Annotation:不支持
Fluent:Entity<T>.Property(t=>t.PropertyName).HasPrecision(m,n)
分类:
EF Code First