实体框架中的实体是什么?

时间:2013-05-09 12:29:50

标签: entity-framework entity terminology

在接下来的教程中,为了解实体框架,他们不断提及实体。我经常看到它被用作数据库上下文类中dbsets<>的同义词,但它的字面含义是什么?

我已经知道实体框架是如何工作的,我只是不明白这个词的含义。

3 个答案:

答案 0 :(得分:2)

在实体框架中,实体在很大程度上等同于概念模型中的(或类模型,它映射到商店模特)。

在域模型术语中,实体是

  

一个没有由其属性定义的对象,而是一个连续性线程及其标识。

(资料来源:Wikipedia

对于“具有身份的对象”,而不是值对象,如DateTime或(可能)Address,这非常令人满意。 Customer是一个实体,因为它是由“谁”识别的。两个同名的客户仍然是两个客户。

因此,实体可以松散地定义为业务领域的“事物”。客户/用户和系统设计人员/开发人员在无所不在的语言中谈论的事情。在EF中,这些东西都是由类来表示的。

所以 DbSetDbSet是一个提供实体对象的存储库。

我经常看到人们将实体称为模型。我不知道这个术语的起源(似乎经常发生巧合),但我不认为这是正确的。这大多令人困惑。 EF中的模型是商店模型或概念模型,因此它是实体的集合。模型也可以是包含任意数量实体的任意数量属性的视图模型。

答案 1 :(得分:1)

让我们以Person对象为例,让我们说Person数据正在发布到数据库并且它在层中移动

当它在我的UI中时,我称之为人物模型或ViewModel。

当它在我的业务层中时,我称之为个人业务对象。

当它在我的数据层中时,我称之为人物实体。

它移动到不同层中的不同对象的数据相同。实体只是在数据访问层中保存Person数据的对象的名称....

答案 2 :(得分:0)

实体只是一个表示某种形式的关系数据的对象。这通常用于表示关系数据库,但并不仅限于此。我建议查看http://msdn.microsoft.com/en-us/data/aa937709,了解实体框架的工作原理。