码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-12-01 00:37:26      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   使用   sp   for   strong   

特性控制 数据验证(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     }

 

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

标签:style   blog   io   ar   color   使用   sp   for   strong   

原文地址:http://www.cnblogs.com/edwin-hu/p/4133950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!