MVC5中Model设置属性注解
ASP.NET MVC5中Model层开发,使用的数据注解有三个作用:
- 数据映射(把Model层的类用EntityFramework映射成对应的表)
- 数据验证(在服务器端和客户端验证数据的有效性)
- 数据显示(在View层显示相应的数据)
数据注解相关的命名空间如下:
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] |
可视化设计器在引用组件成员时可以显示指定的说明 |
1、数据验证相关的数据注解继承ValidationAttribute类,都有一个ErrorMessage属性用来显示错误提示。
如:[Required(ErrorMessage="此项不能为空")]。
2、数据映射中Int类型和DateTime类型在数据库中默认不允许为NULL,如果需要设置为NULL,使用可空类型即可(使用Int?或者DateTime?)。
初学ASP.NET MVC顺便总结了一下数据注解(并不包含所有的内置数据注解),每个数据注解的具体使用请查询MSDN,不当的地方望指正。
MVC5中Model设置属性注解的更多相关文章
- MVC5中Model层开发数据注解
ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...
- MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求
MVC5中Model层开发数据注解 ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证( ...
- jQuery中animate设置属性的一个问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mapstruct 的 mapstruct-processor 自动生成的 Impl 文件中未设置属性值(时好时坏)
配置依赖和注解处理器 ... <properties> <org.mapstruct.version>1.4.2.Final</org.mapstruct.version ...
- DedeCms 标签中channelartlist设置属性标签样式的方法
实现的效果如下: {dede:channelartlist typeid='6' row='3' currentstyle='current'} <li class='{dede:field.c ...
- ASP.NET MVC5中的数据注解
ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...
- ASP.NET MVC5中的数据注解(转载)
ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...
- ASP.NET MVC5中的Model验证
Model验证是ASP.NET MVC中的重要部分,它主要用于判断输入的数据类型及值是否符合我们设定的规则,这篇文章就介绍下ASP.NET MVC中Model验证的几种方式. 后台验证 DataAnn ...
- java自定义注解知识实例及SSH框架下,拦截器中无法获得java注解属性值的问题
一.java自定义注解相关知识 注解这东西是java语言本身就带有的功能特点,于struts,hibernate,spring这三个框架无关.使用得当特别方便.基于注解的xml文件配置方式也受到人们的 ...
随机推荐
- idea常用快捷汇总
目录 1.查询 2. 自动提示 3. 代码生成 4. 摆脱鼠标 5.源码阅读 1.查询 Shift+ Ctrl + F 全文搜索 Shift + Shift 文件名搜索 Ctrl + F 在当前文件进 ...
- 2019.04.17 读书笔记 checked与unchecked
在普通的编程中,我们是很容易去分析数据的大小,然后给出合理的类型,但是在很多数据库的累计中,缺存在很多隐患,特别是研发时,数据量小,求和也不会溢出,当程序运行几年后,再来一次大求和,隐形的BUG就出来 ...
- MVC目录规范
入口程序 单一入口机制,单一入口指在一个web应用程序中,所有的请求都是指向一个脚本文件,例如我们经常看到某一个网站所有的页面都是index.php??xxxx这样的形式.所有对使用程序的访问都是必须 ...
- spring异常被吞的一种情形
你是否遇到过下面的情况,控制台无限的输出下面的日志: Logging initialized using ‘class org.apache.ibatis.logging.log4j.Log4jImp ...
- Java绘制图片并进行合成
以下代码可以生成六行两列的图片,代码改成了可以接受参数可循环的. package com.xgt.util; import com.sun.image.codec.jpeg.JPEGCodec; im ...
- Java入门系列-22-IO流
File类的使用 Java程序如何访问文件?通过 java.io.File 类 使用File类需要先创建文件对象 File file=new File(String pathname);,创建时在构造 ...
- Java入门系列-12-成员方法
类的方法 无参方法 语法: public 返回值类型 方法名(参数列表){ //方法的主体 } 敲一敲:无返回值方法 public void sayHi(){ System.out.println(& ...
- [转载+补充][PY3]——环境配置(2)——windows下安装pycharm并连接Linux的python环境
原文地址:<你所会用到的Python学习环境和工具> 1. 下载安装Pycharm专业版 具体方法略.Pycharm5激活方法参考http://www.cnblogs.com/snsdzj ...
- 虚拟机非正常关闭,里面的服务器重启报错:Error, some other host already uses address
解决办法: vi /etc/sysconfig/network-scripts/ifup-eth ###########注销下面的三行内容############ # if ! /sbin/arpin ...
- heroku快速部署node应用
试了一下heroku,简直碉堡了,下面介绍如何简单几步实现弄得应用的部署访问: 1.首先https://dashboard.heroku.com/进行账号注册 2.github上push一个最新的no ...