ASP.NET MVC5中Model层开发,使用的数据注解有三个作用:

数据映射(把Model层的类用EntityFramework映射成对应的表)

数据验证(在服务器端和客户端验证数据的有效性)

数据显示(在View层显示相应的数据)

数据注解相关的命名空间如下:

System.ComponentModel.DataAnnotations

System.ComponentModel.DataAnnotations.Schema

System.Web.Mvc

System.Web.Security

DataAnnotations名称空间中包含主要的数据注解,Schema名称空间中包含一些数据映射的数据注解,Mvc名称空间中包含字符、数组、数值长度和属性比较的数据注解,Security名称空间中包含MemberShipPassword注解特性。

数据映射和验证相关的数据注解:

[Required] 必填字段 [MaxLength] 指定属性中允许的数组或字符串数据的最大长度 [MinLength] 指定属性中允许的数组或字符串数据的最小长度 [StringLength] 指定最小和最大字符长度 [Range] 指定数值范围

数据验证相关的数据注解

[Remote] 使用 jQuery 验证插件远程验证程序的特性 [FileExtension] 验证文件扩展名 [Compare] 比较两个属性的值 [RegularExpression] 使用正则表达式验证 [CustomValidation] 自定义验证方法 [DataType] 指定要与数据字段关联的附加类型的名称 [EmailAddress] 电子邮件地址(相当于[DataType(DataType.Email)]) [Phone] 电话(同上) [CreditCard] 信用卡号码(同上) [Url] 验证URL(同上) [MemberShipPassword] 验证密码字段是否满足成员资格提供程序的当前密码要求

数据映射相关的数据注解:

[Key] 主键字段 [Column] 数据库列属性映射 [NotMapped] 不要创建对应的字段 [Table] 指定类将映射到的数据库表 [ForeignKey] 表示关系中用作外键的属性 [DatabaseGenerated] 指定数据库生成属性值的方式(EF不追踪属性的变化)

数据显示相关的数据注解:

[DisplayName] 指定本地化的字符串(习惯用语类) [Display] 指定本地化的字符串(习惯用语属性) [DisplayFormat] 设置数据字段的格式 [ReadOnly] 指定该特性所绑定到的属性是只读属性还是读/写属性 [EditAble] 指示数据字段是否可编辑 [HiddenInput] 指示是否应将属性值或字段值呈现为隐藏的 input 元素 [ScaffoldColumn] 指定类或数据列是否使用基架 [UIHint] 指定动态数据用来显示数据字段的模板

其他

[DisplayColumn] 将所引用的表中显示的列指定为外键列 [Description]

可视化设计器在引用组件成员时可以显示指定的说明

(命名空间:System.ComponentModel.DescriptionAttribute)

1、数据验证相关的数据注解继承ValidationAttribute类,都有一个ErrorMessage属性用来显示错误提示

如:[Required(ErrorMessage="此项不能为空")]。

2、数据映射中Int类型和DateTime类型在数据库中默认不允许为NULL,如果需要设置为NULL使用可空类型即可(使用Int?或者DateTime?)。

以上这篇基于MVC5中的Model层开发数据注解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。