原文地址: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特性

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

最新文章

  1. 38 网络相关函数(六)——live555源码阅读(四)网络
  2. NYOJ题目769乘数密码
  3. PostGreSQL最简安装
  4. 软件工程课程作业(二)--四则运算2改进版(c++)
  5. A Case for Flash Memory SSD in Enterprise Database Applications
  6. 获取Host文件权限 注册表导入
  7. Javascript图片轮播
  8. js获取名字为XX的标签
  9. Javascript获取浏览器版本
  10. 第六百二十六天 how cna I 坚持
  11. Web前端知识体系精简
  12. 初识Hibernate之理解持久化类
  13. Java自己动手写连接池二
  14. Blending, Bootstrap
  15. 安卓高级3 RecyclerView 和cardView使用案例
  16. MYSQL的安全模式:sql_safe_updates介绍
  17. JavaScript的基本包装类型_String类型
  18. Spring Boot参数校验
  19. 导入另一个 Git库到现有的Git库并保留提交记录
  20. 华中农业大学校赛 I Catching Dogs

热门文章

  1. #2 codeforces 480 Parcels
  2. Codeforces 498B Name That Tune 概率dp (看题解)
  3. python中的协程:greenlet和gevent
  4. BZOJ5090 组题 BZOJ2017年11月月赛 二分答案 单调队列
  5. Spring日记_01 之 Maven项目的创建和更新
  6. C++ 冒泡排序、选择排序、快速排序
  7. QT学习之第一个程序
  8. pandas学习(创建数据,基本操作)
  9. 利用Solr服务建立的站内搜索雏形
  10. 洛谷.T22136.最长不下降子序列(01归并排序 分治)