基于MVC5中的Model层开发数据注解_实用技巧

基于MVC5中的Model层开发数据注解_实用技巧,第1张

基于MVC5中的Model层开发数据注解_实用技巧 下面小编就为大家分享一篇基于MVC5中的Model层开发数据注解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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]xyk号码(同上)[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层开发数据注解就是小编分享给大家的全部内容了,希望能给大家一个参考!!!

相关推荐:

实例分析ASP.NET在MVC5中使用MiniProfiler监控MVC性能的方法

MVC5限制所有HTTP必须以POST方式请求

MVC5下拉框单选绑定的具体代码实现

以上就是基于MVC5中的Model层开发数据注解_实用技巧的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/685875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-20
下一篇 2022-04-20

发表评论

登录后才能评论

评论列表(0条)

保存