9.翻译系列:EF 6以及EF Core中的数据注解特性(EF 6 Code-First系列)
程序员文章站
2022-04-08 17:51:46
原文地址:http://www.entityframeworktutorial.net/code-first/dataannotation-in-code-first.aspx 数据注解特性是.NET特性,可以在EF或者EF Core中,应用于实体类上或者属性上,以重写默认的约定规则。 在EF 6和 ......
原文地址:
数据注解特性是.net特性,可以在ef或者ef core中,应用于实体类上或者属性上,以重写默认的约定规则。
在ef 6和ef core中,数据注解特性包含在system.componentmodel.dataannotations命名空间和system.componentmodel.dataannotations.schema命名空间下。
这些特性不仅仅适用于ef,同样适用于asp.net mvc以及数据控件。数据注解特性,在ef 6和efcore中工作方式都是相同的、效用一样的。
system.componentmodel.dataannotations attributes
特性 | 描述 |
key | 应用于实体的一个属性上,然后就生成表里面的主键 |
timestamp | 应用于实体的一个属性上,然后生成表的列的类型就是rowversion |
concurrencycheck | 应用的属性上,然后相应的列就会生成一个乐观检查 |
required | 应用的属性上面,生成一个不为空的列,然后映射到数据库的列中 |
minlength | 定义最小字符串长度,然后映射到数据库的列中 |
maxlength | 定义最大字符串长度,然后映射到数据库的列中 |
stringlength | 可以指定属性列允许的最大字符串长度,然后映射到数据库的列中 |
system.componentmodel.dataannotations.schema attributes
特性 | 描述 |
table | 应用于实体,可以配置表名和模式名 |
column | 应用于实体的属性上,可以配置相应的列名,列顺序以及数据类型 |
index | 应用于实体的属性上,可以为列生成索引(ef 6.1以上的版本才支持) |
foreignkey | 应用于实体的属性上,然后生成外键属性 |
notmapped | 可以应用于实体或者实体的属性上,应用于实体上,就不会生成表,应用于属性上,就不会生成列 |
databasegenerated | 配置列自动生成,可以有三个选项:identity【自增】, computed【计算】 or none【无】 |
inverseproperty | 应用于属性上。就是有相同的关系的时候,用于反转导航属性。【概念不好说,等会后面有例子讲解。】 |
complextype | 在ef 6中标记类是复杂类型,注意:ef core 2.0 中不支持这个complex特性 |
我们在后面的子节中,来好好学习一个每个特性。
上一篇: Java操作HBase
推荐阅读
-
5.翻译系列:EF 6中数据库的初始化(EF 6 Code-First 系列)
-
9.3 翻译系列:数据注解特性之Key【EF 6 Code-First 系列】
-
11.翻译系列:在EF 6中配置一对零或者一对一的关系【EF 6 Code-First系列】
-
9.7 翻译系列:EF数据注解特性之--InverseProperty【EF 6 Code-First系列】
-
9.翻译系列:EF 6以及EF Core中的数据注解特性(EF 6 Code-First系列)
-
9.9 翻译系列:数据注解特性之--MaxLength 【EF 6 Code-First系列】
-
9.10 翻译系列:EF数据注解特性之StringLength【EF 6 Code-First系列】
-
15.翻译系列:EF 6中的级联删除【EF 6 Code-First 系列】
-
19.翻译系列:EF 6中定义自定义的约定【EF 6 Code-First约定】
-
20.1翻译系列:EF 6中自动数据迁移技术【EF 6 Code-First系列】