原文地址:http://www.entityframeworktutorial.net/code-first/dataannotation-in-code-first.aspx

EF 6 Code-First系列文章目录:

数据注解特性是.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特性

我们在后面的子节中,来好好学习一个每个特性。

9.翻译系列:EF 6以及EF Core中的数据注解特性(EF 6 Code-First系列)的更多相关文章

  1. 9.10 翻译系列:EF数据注解特性之StringLength【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/stringlength-dataannotations-attribute-in-co ...

  2. 9.9 翻译系列:数据注解特性之--MaxLength 【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/maxlength-minlength-dataannotations-attribut ...

  3. 9.7 翻译系列:EF数据注解特性之--InverseProperty【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/inverseproperty-dataannotations-attribute-in ...

  4. 9.3 翻译系列:数据注解特性之Key【EF 6 Code-First 系列】

    原文链接:http://www.entityframeworktutorial.net/code-first/key-dataannotations-attribute-in-code-first.a ...

  5. 9.2 翻译系列:数据注解特性之---Column【EF 6 Code First系列】

    原文链接:http://www.entityframeworktutorial.net/code-first/column-dataannotations-attribute-in-code-firs ...

  6. 9.1 翻译系列:数据注解特性之----Table【EF 6 Code-First 系列】

    原文地址:http://www.entityframeworktutorial.net/code-first/table-dataannotations-attribute-in-code-first ...

  7. 9.8 翻译系列:数据注解特性之--Required 【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/required-attribute-dataannotations-in-code-f ...

  8. 9.11 翻译系列:数据注解特性之--Timestamp【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/TimeStamp-dataannotations-attribute-in-code- ...

  9. 9.12 翻译系列:数据注解特性之ConcurrencyCheck【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/concurrencycheck-dataannotations-attribute-i ...

随机推荐

  1. BZOJ1966 [Ahoi2005]VIRUS 病毒检测 动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1966 题意概括 现在有一些串和一个病毒模板.让你统计非病毒串的总数.串个数<=500. 串由 ...

  2. 【Java】 剑指offer(43) 从1到n整数中1出现的次数

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例 ...

  3. Spring bean加载多个配置文件

    除了写很简单的加载一个xml,加载多个的情况一直没用到,在公司里也不会由自己处理这个问题,现在需要用到了,就研究验证一下. 使用的案例还是上面的例子. 只有,将原来的beans.xml分成两个部分. ...

  4. 032 HDFS中高可用性HA的讲解

    HDFS Using QJM HA使用的是分布式的日志管理方式 一:概述 1.背景 如果namenode出现问题,整个HDFS集群将不能使用. 是不是可以有两个namenode呢 一个为对外服务-&g ...

  5. (转)Java按指定行数读取文件

    package test import java.io.File; import java.io.FileReader; import java.io.IOException; import java ...

  6. hdu 1576 A/B 【扩展欧几里得】【逆元】

    <题目链接> <转载于 >>> > A/B Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)( ...

  7. python 中的可变对象与不可变对象

    近日辞职待工,没有实际的项目与大家分享.暂写写在实际运用python中遇到的关于可变对象和不可变对象的坑. 首先我们需要明确一个概念,在python中一且皆对象.我们一般定义一个变量a=0,其实质a是 ...

  8. 阿里云服务器配置免费https服务

    过程总述 购买服务器,购买域名,备案 申请ssl证书 DNS验证 上传证书,配置nginx 很关键,打开端口!!!阿里云的443端口默认是不打开的 1.购买服务器,域名,备案 服务器我是买的阿里云的, ...

  9. @Resource 注解的使用

      1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况 ...

  10. NMAP为什么扫描不到端口

    NMAP为什么扫描不到端口   NMAP是知名的网络端口扫描工具.但很多新人发现,使用NMAP经常扫描不出来任何端口,尤其是手机之类.这实际存在一个理解上的误区.扫描端口是为了发现主机/设备上存在的对 ...