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

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

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

转载于:https://www.cnblogs.com/caofangsheng/p/10645958.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值