在接下来的教程中,为了解实体框架,他们不断提及实体。我经常看到它被用作数据库上下文类中dbsets<>
的同义词,但它的字面含义是什么?
我已经知道实体框架是如何工作的,我只是不明白这个词的含义。
答案 0 :(得分:2)
在实体框架中,实体在很大程度上等同于概念模型中的类(或类模型,它映射到商店模特)。
在域模型术语中,实体是
一个没有由其属性定义的对象,而是一个连续性线程及其标识。
(资料来源:Wikipedia)
对于“具有身份的对象”,而不是值对象,如DateTime
或(可能)Address
,这非常令人满意。 Customer
是一个实体,因为它是由“谁”识别的。两个同名的客户仍然是两个客户。
因此,实体可以松散地定义为业务领域的“事物”。客户/用户和系统设计人员/开发人员在无所不在的语言中谈论的事情。在EF中,这些东西都是由类来表示的。
所以不 DbSet
。 DbSet
是一个提供实体对象的存储库。
我经常看到人们将实体称为模型。我不知道这个术语的起源(似乎经常发生巧合),但我不认为这是正确的。这大多令人困惑。 EF中的模型是商店模型或概念模型,因此它是实体的集合。模型也可以是包含任意数量实体的任意数量属性的视图模型。
答案 1 :(得分:1)
让我们以Person对象为例,让我们说Person数据正在发布到数据库并且它在层中移动
当它在我的UI中时,我称之为人物模型或ViewModel。
当它在我的业务层中时,我称之为个人业务对象。
当它在我的数据层中时,我称之为人物实体。
它移动到不同层中的不同对象的数据相同。实体只是在数据访问层中保存Person数据的对象的名称....
答案 2 :(得分:0)
实体只是一个表示某种形式的关系数据的对象。这通常用于表示关系数据库,但并不仅限于此。我建议查看http://msdn.microsoft.com/en-us/data/aa937709,了解实体框架的工作原理。