5.Entity Framework Core特性

Entity Framework Core特性位于System.ComponentModel.DataAnnotations 命名空间 和 System.ComponentModel.DataAnnotations.Schema 命名空间。

1.System.ComponentModel.DataAnnotations命名空间

1.1特性

描述
AssociatedMetadataTypeTypeDescriptionProvider通过添加在关联类中定义的特性和属性信息,从而扩展某个类的元数据信息。
AssociationAttribute指定实体成员表示数据关系(如外键关系)。
CompareAttribute提供用于比较两个属性的特性。
ConcurrencyCheckAttribute指定属性参与乐观并发检查。
CreditCardAttribute指定数据字段值是信用卡号。
CustomValidationAttribute指定用于验证属性或类实例的自定义验证方法。
DataTypeAttribute指定与数据字段关联的其它类型的名称。
DisplayAttribute提供允许为实体分部类的类型和成员指定可本地化字符串的通用特性。
DisplayColumnAttribute指定作为外键列显示在被引用表中的列。
DisplayFormatAttribute指定 ASP.NET 动态数据如何显示数据字段以及如何设置数据字段的格式。
EditableAttribute指示数据字段是否可编辑。
EmailAddressAttribute验证电子邮件地址。
EnumDataTypeAttribute启用 .NET 枚举,以映射到数据列。
FileExtensionsAttribute验证文件扩展名。
FilterUIHintAttribute表示用于指定列的筛选行为的特性。
KeyAttribute表示唯一标识实体的一个或多个属性。
MaxLengthAttribute指定属性中允许的数组或字符串数据的最大长度。MaxLength 特性的作用与 StringLength 特性类似,但不提供客户端验证。
MetadataTypeAttribute指定要与数据模型类关联的元数据类。
MinLengthAttribute指定属性中允许的数组或字符串数据的最小长度。
PhoneAttribute指定数据字段值是格式标准的电话号码。
RangeAttribute指定数据字段的值的数值范围约束。
RegularExpressionAttribute指定 ASP.NET 动态数据中的数据字段值必须与指定的正则表达式匹配。
RequiredAttribute指定数据字段值是必需的。无论是值类型还是引用类型,系统会将不可为 null 值的类型自动视为必填字段,因此不需要额外添加 Required 特性。
ScaffoldColumnAttribute指定类或数据列是否使用基架。
StringLengthAttribute指定数据字段中允许的字符的最小长度和最大长度。支持客户端和服务器端验证。
TimestampAttribute指定列的数据类型作为行版本。
UIHintAttribute指定动态数据用来显示数据字段的模板或用户控件。
UrlAttribute提供 URL 验证。
ValidationAttribute充当所有验证特性的基类。
ValidationContext描述执行验证检查的上下文。
ValidationException表示在使用 ValidationAttribute 类的情况下验证数据字段时发生的异常。
ValidationResult表示验证请求的结果的容器。
Validator定义一个帮助器类,在与对象、属性和方法关联的 ValidationAttribute 特性中包含此类时,可使用此类来验证这些项。
接口描述
IValidatableObject提供一种方法来检查实现此接口的类型实例,以确定它们是否有效。
枚举描述
DataType表示与数据字段和参数相关联的数据类型的枚举。

1.2DataType枚举字段

字段字段值描述
CreditCard14表示信用卡号码。
Currency6表示货币值。
Custom0表示自定义的数据类型。
Date2表示日期值。
DateTime1表示某个具体时间,以天的日期和时间表示。
Duration4表示对象存在的一段连续时间。
EmailAddress10表示电子邮件地址。
Html8表示一个 HTML 文件。
ImageUrl13表示图像的 URL。
MultilineText9表示多行文本。
Password11表示密码值。
PhoneNumber5表示电话号码值。
PostalCode15表示邮政代码。
Text7表示所显示的文本。
Time3表示时间值。
Upload16表示文件上传数据类型。
Url12表示 URL 值。

2.System.ComponentModel.DataAnnotations.Schema命名空间

2.1特性

描述
ColumnAttribute表示属性将映射到的数据库列。
ComplexTypeAttribute表示该类是复杂类型。复杂类型是实体类型的非标量属性,实体类型允许在实体内组织标量属性。复杂类型没有键,并且实体框架不能脱离父对象来管理复杂类型。
DatabaseGeneratedAttribute指定数据库生成属性值的方式。
ForeignKeyAttribute表示关系中用作外键的属性。
InversePropertyAttribute指定表示同一关系的另一端的导航属性的反向属性。
NotMappedAttribute表示属性或类应从数据库映射中排除。
TableAttribute指定类将映射到的数据库表。
枚举描述
DatabaseGeneratedOption表示用于为数据库中的属性生成值的模式。

2.2DatabaseGeneratedOption枚举字段

字段字段值描述
Computed2在插入(insert)或更新(update)一个行时,数据库会生成一个值。
Identity1在插入(insert)一个行时,数据库会生成一个值。
None0数据库不生成值。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/entityframeworkcore/15293.html

(0)
上一篇 2022年6月4日 23:44
下一篇 2022年6月5日 23:47

相关推荐

  • 6.Entity Framework Core迁移

    迁移文件的格式通常为<timestamp>_PascalName.cs(时间辍精确到秒,比如:20220825221808_InitialCreate.cs),PascalName是任意的,但是为迁移文件使用有意义的名称是有帮助的。 默认情况下,SQL Server Express LocalDB会在 C:/用户…

  • 3.Entity Framework Core实体

    1.新建实体模型 右键单击Models文件夹-添加–类-名称单数Student.cs。

  • 4.Entity Framework Core关系

    1.实体与属性 默认情况下,如果在类型上发现导航属性,将创建关系。 如果它指向的类型不能由当前数据库提供程序映射为标量类型,则属性被视为导航属性。 1.1主体实体 主体实体是指包含主体键/备选键属性的实体。有时被称为关系的“父级”。 1.2依赖实体 依赖实体是指包含外键属性的实体。有时被称为关系的“子级”。 1.3主体…

发表回复

登录后才能评论