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             get
20             {
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     }

 

posted @ 2014-11-30 23:10  Edwin_胡  阅读(401)  评论(0编辑  收藏  举报