转载地址: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
本文介绍了使用 Entity Framework CodeFirst 进行数据库映射时,如何通过 DataAnnotation 和 Fluent API 设置属性规则,包括长度限制、数据类型、是否可空、主键定义、数据库自动生成值及 Decimal 的精度。
959

被折叠的 条评论
为什么被折叠?



