EntityFramework6.X之DataAnnotations

DataAnnotations

在web开发中不仅在客户端需要执行验证逻辑,会对会对用户向表单中输入的数据给出一个即时反馈;且在服务器端也需验证逻辑,因为来自网络的信息都是不能信任的。在MVC中通常是采用数据注解的特性来解决验证逻辑,大部分主要来自于System.ComponentModel.DataAnnotations命名空间下的特性,他们提供服务端验证的功能,当在模型上使用这些特性时,框架也支持客户端验证

1)      数据注解特性都含有ErrorMessage属性用来自定义错误提示

2)      数据注解特性都含有ErrorMessageType属性和ErrorMessageResourceName属性来定义国际化的错误信息

System.ComponentModel.DataAnnotations Attributes:


Attribute


Description


Key


标识一个属性为数据库表中的主键约束


Timestamp


标识列为非空数据列的时间戳

 

ConcurrencyCheck


标记一个或多个属性在数据库中删除或编辑时进行并发检查


Required


当属性NULL或空时,Required特性将会引发一个验证错误,标识属性是必须的,它既传递客户端的验证逻辑,即使客户端浏览器中没有设置允许javaScript执行权限,验证逻辑也会在服务器端捕获到一个空名属性

 

MinLength

MaxLength


指定属性中允许的数组或字符串数据的最大长度/最小长度

 

StringLength


指定允许的最小和最大长度

 

Display


为模型属性设置友好的显示名称,提供一个通用特性,指定本地化字符串

 

DisplayColumn


将所引用的表中显示的列指定为外键列

 

DisplayFormat


处理属性的各种格式化选项,当属性包含空值时,可提供可选的显示文本,也可为包含标记的属性关闭HTML编码,为运行时指定一个应用属性值的格式化字符串

 

Range


指定数值类型值得最小值和最大值

 

RegularExpression


正则表达式的验证功能

 

ScaffoldColumn


隐藏HTML辅助方法渲染的一些属性

 

Compare


确定模型对象的两个属性拥有相同的值,当需要重复判断可用

 

DataType


为运行时提供关于属性的特定用途信息

 

EmailAddress


EnumDataType


使.net枚举能够映射到数据列


Phone


指定使用电话号码的正则表达式数据值是一个格式正确的电话号码


CreditCard


表示信用卡

System.ComponentModel.DataAnnotations.Schema.Attributes:

1)      Table: 指定实体类对应的数据库表的名称

2)      Column: 指定要映射到数据库中的列的名称和数据类型

3)      Index: 指定该列为索引列

4)      ForeignKey: 指定属性为导航属性的外键约束

5)      NotMapped: 指定该属性列不映射到数据库中

6)      DatabaseGenerated: 指定属性映射到数据库中通过计算获得值

7)      InverseProperty: 逆向属性,当在两个类之间有多重关系的时候

8)      ComplexType: 标识该类为复杂类型

时间: 2024-10-05 05:12:37

EntityFramework6.X之DataAnnotations的相关文章

EF Code-First 学习之旅 DataAnnotations

数据注解:配置选项的子集:Fluent API包含所有选项 System.ComponentModel.DataAnnotations Attributes: Attribute Description Key 标记实体的属性映射到数据库表中的主键 Timestamp 标记助兴为不可空的时间戳列(行版本) ConcurrencyCheck 标记一个或多个属性做并发检查(当用户编辑或删除数据的时候)  Required 属性必须有值 MinLength 设置属性类型为数组或字符串的最小长度 Max

Asp.Net MVC 使用 DataAnnotations 进行模型验证

通过为模型类增加数据描述的 DataAnnotations ,我们可以容易地为应用程序增加验证的功能.DataAnnotations 允许我们描述希望应用在模型属性上的验证规则,ASP.NET MVC 将会使用这些 DataAnnotations ,然后将适当的验证信息返回给用户. 常用的 DataAnnotations 包括: Required 必须 – 表示这个属性是必须提供内容的字段 DisplayName 显示名 – 定义表单字段的提示名称 StringLength 字符串长度 – 定义

DataAnnotations - InverseProperty Attribute:

DataAnnotations - InverseProperty Attribute: We have seen in the Code-First Convention section that Code-First creates {Class Name}_{Primary Key} foreign key column if you have not included foreign key property in a parent class. The InverseProperty

EntityFramework6执行MySql的存储过程出现错误的解决办法

来源:EntityFramework6 method: public ObjectResult<TElement> ExecuteFunction<TElement>( string functionName, params ObjectParameter[] parameters ) 错误信息: 解决办法: 1. 在Model项目右键-->重新生成: 2.重新生成模型(未测).

EntityFramework Code-First 简易教程(六)-------领域类配置之DataAnnotations

EF Code-First提供了一个可以用在领域类或其属性上的DataAnnotation特性集合,DataAnnotation特性会覆盖默认的EF约定. DataAnnotation存在于两个命名空间里: System.ComponentModel.DataAnnotations和System.ComponentModel.DataAnnotations.Schema 注意: DataAnnotations只提供了一部分的配置选项,全部的配置选项在Fluent API中. System.Com

EntityFramework6 快速入门教程

EntityFramework6 快速入门教程 不得不说EF在国内实在是太小众,相关的技术文章真实屈指可数,而且很多文章都很旧了,里面使用的版本跟如今的EF6差别还是比较大.我刚开始弄这个的时候真是绕了不少弯路. 学习EF还是需要一些条件,使用EF并不意味着你就可以完全不跟数据库打交道了,要学好EF,数据库中的什么主键.外键.索引.SQL等你还是要懂,另外EF中将大量使用LINQ来进行数据查询,数据模型中还将涉及到特性与泛型,所以对于C#的基础要求还比较高. 在我看来EF并不适合初学者使用,虽然

ASP.NET-表单验证-DataAnnotations

DataAnnotations  [数据注解,数据注释] 需要引入两个脚本文件 <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive

使用EntityFramework6连接MySql数据库(db first方式)

查看了 逆水寒龙前辈的 使用EntityFramework6连接MySql数据库(db first方式) 自己亲自实践 遇到一点问 mysql-connector-net-x.x.x.msi mysql-for-visualstudio-x.x.x.msi 这两个东西需要使用最新版本,老版本装不上. 安装nuget包 不需要带版本号 Install-Package EntityFramework Install-Package MySql.Data.Entity 带版本号也会出现这个错误 提醒一

EntityFramework6 版本更变产生的错误

LINQ to Entities does not recognize the method 'System.Nullable`1[System.Int32] DiffMinutes(System.Nullable`1[System.DateTime], System.Nullable`1[System.DateTime])' method, and this method cannot be translated into a store expression. 解决:EntityFuncti