1

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

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

4

3 回答 3

2

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

在域模型术语中,实体是

不是由其属性定义的对象,而是由连续性及其身份定义的对象。

(来源:维基百科

这对于“具有身份的对象”来说是相当多的,而不是值对象,比如 aDateTime或(也许)an Address。ACustomer是一个实体,因为它由他的“谁”标识。两个同名客户仍然是两个客户。

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

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

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

于 2013-05-09T13:02:15.733 回答
1

让我们以 Person 对象为例,假设 Person 数据被发布到数据库并在层级中移动

当它在我的 UI 中时,我称它为 Person Model 或 ViewModel。

当它在我的业务层中时,我将其称为人员业务对象。

当它在我的数据层中时,我称它为 Person Entity。

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

于 2013-06-29T19:04:42.167 回答
0

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

于 2013-05-09T12:36:56.630 回答