首页 > 代码库 > EF架构学习第二章(特性控制以及验证)

EF架构学习第二章(特性控制以及验证)

特性控制 数据验证(MVC)与数据库映射
Key 主键
Required 指定列非空
DisplayFormat //显示格式
MaxLength //最大长度
Display 指定本地显示字符串
DatabaseGenerated 指定主键列创建的模式(自动增长还是自定义)
NotMapped 不映射为数据列
Forengin key 映射外键
Column 指定生成列名的规则(列名 数据类型)

MVC数据验证
RegularExpression 正则表达式验证
Range 范围验证
StringLength 最小值和最大值
DataType 数据类型

 

此例子写在Model/Student.cs

1 using System.ComponentModel.DataAnnotations;2 using System.ComponentModel.DataAnnotations.Schema;//用于验证命名空间
 1 [Table("StudentInfo")]//使用新的表名称 2     public class Student 3     { 4         /// <summary> 5         /// 学生编号(属性名为ID或者类名+ID 会自动生成为数据库的主键) 6         /// </summary> 7         [Key]//指定为主键 8         [DatabaseGenerated(DatabaseGeneratedOption.None)]//设为非自动增长列 9         public int StudentID { get; set; }10         [Required(ErrorMessage="姓氏不能为空")]//非空验证11         [MaxLength(20,ErrorMessage="姓氏过长")]//最大长度验证12         [Column("FirstNameNew",TypeName="varchar")]//指定数据库列名,TypeName定义列的类型13         public string FirstName { get; set; }   //14         [Display(Name = "")]//指定本地显示字符串15         public string LastName { get; set; }    //16         [NotMapped]//不映射为数据列17         public string FullName                  //全名18         {19             get20             {21                 return LastName + "." + FirstName;22             }23         }24         [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]//显示格式25         public DateTime EnrollDate { get; set; }//登记时间26         /*********************导航属性(引用属性  集合属性)*************************/27         public ICollection<Enrollment> Enrollments { get; set; }28     }

 

EF架构学习第二章(特性控制以及验证)