欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于MVC5中的Model层开发数据注解

程序员文章站 2022-11-19 22:53:44
asp.net mvc5中model层开发,使用的数据注解有三个作用: 数据映射(把model层的类用entityframework映射成对应的表) 数据验证(在服务器...

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层开发数据注解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。