首页 > 代码库 > 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架构学习第二章(特性控制以及验证)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。