原文地址:http://www.entityframeworktutorial.net/basics/what-is-entity-in-entityframework.aspx
EF中的实体就是继承自DbContext类的上下文类中的,DbSet类型的实体类。EF API 将这样的每个实体映射成数据库表,并且实体中的每个属性映射成表的数据列。
例如下面的Student,StudentAddress以及Grade都是程序中的领域类。
上面这些类,当在上下文类SchoolContext【继承自DbContext类的类】中,被包装成DbSet<TEntity>属性的时候,就成为了实体,例如:
在上图中,Stduents,StudentAddresses以及Grades属性称作为实体集。一个实体可以包含两个属性:一个是Scalar Properties【标量属性】,另外一个就是Navigation Properties【导航属性】。
标量属性
原始类型的属性,就成为标量属性,标量属性存储实际的值,标量属性映射成为数据表中的一个数据列。
导航属性
导航属性代表当前实体和另外的实体之间的关系。有两种类型的导航属性,一个是Reference Navigation【引用类型导航】,还有一个是Collection Navigation【集合类型导航】。
引用类型的导航属性
如果一个实体,包含一个实体类型的属性,那么这个属性就称为引用类型的导航属性。代表1的多样性【It represents multiplicity of one (1).】。
集合类型的导航属性
如果一个实体,包含一个集合类型的属性,这个属性就称为集合类型导航属性。代表多的多样性【 It represents multiplicity of many (*).】。
下面的图形列出来了引用类型的导航属性和集合类型的导航属性,以及标量属性。
好了,EF的基础系列,第六篇就介绍完了。有不明白的可以留言,谢谢支持。
附录:
EF 6官方文档: https://docs.microsoft.com/zh-cn/ef/ef6/
EF Core官方文档:https://docs.microsoft.com/zh-cn/ef/core/