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

本文介绍ASP.NET MVC中的数据验证特性和对象关系映射(ORM)配置方法,包括主键设置、非空验证、最大长度限制、日期格式等,并展示了如何通过属性进行数据库列映射。

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

 

转载于:https://www.cnblogs.com/edwin-hu/p/4133950.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值