Entity Framework Core特性位于System.ComponentModel.DataAnnotations 命名空间 和 System.ComponentModel.DataAnnotations.Schema 命名空间。
1.System.ComponentModel.DataAnnotations命名空间
1.1特性
类 | 描述 |
Associated | 通过添加在关联类中定义的特性和属性信息,从而扩展某个类的元数据信息。 |
Association | 指定实体成员表示数据关系(如外键关系)。 |
Compare | 提供用于比较两个属性的特性。 |
Concurrency | 指定属性参与乐观并发检查。 |
Credit | 指定数据字段值是信用卡号。 |
Custom | 指定用于验证属性或类实例的自定义验证方法。 |
Data | 指定与数据字段关联的其它类型的名称。 |
Display | 提供允许为实体分部类的类型和成员指定可本地化字符串的通用特性。 |
Display | 指定作为外键列显示在被引用表中的列。 |
Display | 指定 ASP.NET 动态数据如何显示数据字段以及如何设置数据字段的格式。 |
Editable | 指示数据字段是否可编辑。 |
Email | 验证电子邮件地址。 |
Enum | 启用 .NET 枚举,以映射到数据列。 |
File | 验证文件扩展名。 |
Filter | 表示用于指定列的筛选行为的特性。 |
Key | 表示唯一标识实体的一个或多个属性。 |
Max | 指定属性中允许的数组或字符串数据的最大长度。MaxLength 特性的作用与 StringLength 特性类似,但不提供客户端验证。 |
Metadata | 指定要与数据模型类关联的元数据类。 |
Min | 指定属性中允许的数组或字符串数据的最小长度。 |
Phone | 指定数据字段值是格式标准的电话号码。 |
Range | 指定数据字段的值的数值范围约束。 |
Regular | 指定 ASP.NET 动态数据中的数据字段值必须与指定的正则表达式匹配。 |
Required | 指定数据字段值是必需的。无论是值类型还是引用类型,系统会将不可为 null 值的类型自动视为必填字段,因此不需要额外添加 Required 特性。 |
Scaffold | 指定类或数据列是否使用基架。 |
String | 指定数据字段中允许的字符的最小长度和最大长度。支持客户端和服务器端验证。 |
Timestamp | 指定列的数据类型作为行版本。 |
UIHint | 指定动态数据用来显示数据字段的模板或用户控件。 |
Url | 提供 URL 验证。 |
Validation | 充当所有验证特性的基类。 |
Validation | 描述执行验证检查的上下文。 |
Validation | 表示在使用 ValidationAttribute 类的情况下验证数据字段时发生的异常。 |
Validation | 表示验证请求的结果的容器。 |
Validator | 定义一个帮助器类,在与对象、属性和方法关联的 ValidationAttribute 特性中包含此类时,可使用此类来验证这些项。 |
接口 | 描述 |
IValidatableObject | 提供一种方法来检查实现此接口的类型实例,以确定它们是否有效。 |
枚举 | 描述 |
DataType | 表示与数据字段和参数相关联的数据类型的枚举。 |
1.2DataType枚举字段
字段 | 字段值 | 描述 |
CreditCard | 14 | 表示信用卡号码。 |
Currency | 6 | 表示货币值。 |
Custom | 0 | 表示自定义的数据类型。 |
Date | 2 | 表示日期值。 |
DateTime | 1 | 表示某个具体时间,以天的日期和时间表示。 |
Duration | 4 | 表示对象存在的一段连续时间。 |
EmailAddress | 10 | 表示电子邮件地址。 |
Html | 8 | 表示一个 HTML 文件。 |
ImageUrl | 13 | 表示图像的 URL。 |
MultilineText | 9 | 表示多行文本。 |
Password | 11 | 表示密码值。 |
PhoneNumber | 5 | 表示电话号码值。 |
PostalCode | 15 | 表示邮政代码。 |
Text | 7 | 表示所显示的文本。 |
Time | 3 | 表示时间值。 |
Upload | 16 | 表示文件上传数据类型。 |
Url | 12 | 表示 URL 值。 |
2.System.ComponentModel.DataAnnotations.Schema命名空间
2.1特性
类 | 描述 |
Column | 表示属性将映射到的数据库列。 |
Complex | 表示该类是复杂类型。复杂类型是实体类型的非标量属性,实体类型允许在实体内组织标量属性。复杂类型没有键,并且实体框架不能脱离父对象来管理复杂类型。 |
Database | 指定数据库生成属性值的方式。 |
Foreign | 表示关系中用作外键的属性。 |
Inverse | 指定表示同一关系的另一端的导航属性的反向属性。 |
Not | 表示属性或类应从数据库映射中排除。 |
Table | 指定类将映射到的数据库表。 |
枚举 | 描述 |
DatabaseGeneratedOption | 表示用于为数据库中的属性生成值的模式。 |
2.2DatabaseGeneratedOption枚举字段
字段 | 字段值 | 描述 |
Computed | 2 | 在插入(insert)或更新(update)一个行时,数据库会生成一个值。 |
Identity | 1 | 在插入(insert)一个行时,数据库会生成一个值。 |
None | 0 | 数据库不生成值。 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/entityframeworkcore/15293.html