有没有人能帮我把话说清楚?据我所知,物理模型描述了数据在特定存储介质的上下文中是如何表示的。逻辑模型是实体和关系方面的表示,独立于任何特定的数据管理技术。这两个如何与Entity Framework协同工作?我假设EF是针对逻辑模型工作的。在哪种情况下,物理模型适合哪里?
发布于 2010-10-06 00:57:54
在实体数据模型中,前者由存储模式定义语言表示,后者由概念模式定义语言表示。但是,在这个游戏中还有第三个玩家:映射规范语言(MSL)。
在实体框架元数据中,映射层位于概念层和存储层之间,并提供从实体属性到数据存储区中的表和列的映射。
Ef作为一种ORM,可以与所有这三种方法一起工作。开发人员根据概念模型进行编码,EF使用MSL将其映射回存储模型。
发布于 2011-05-25 17:51:16
当谈到关系数据库时,逻辑模型是用关系表示的数据库(也称为。表)、值、键和完整性约束(如外键关系)。物理模型是指这些数据实际上是如何作为数据结构存储在文件或内存中的。不同的关系数据库系统可以表示相同的逻辑模型,但物理模型将是系统特定的,并针对不同的目的进行优化。逻辑-物理映射不必是1:1,在某些情况下,单个逻辑表可以在物理上拆分到几个文件甚至几台机器上,或者逻辑连接可以存储(缓存)为单个物理表。这在逻辑级别上应该是透明的,但会影响性能。
SQL在逻辑级别上工作,因为无论物理表示如何,查询表的方式都是相同的。一些SQL方言可能支持基于物理模型上的特征的优化提示。
因此,在实体框架中,所谓的存储模型实际上是logical数据库模型,因为EF存储模型独立于任何特定的数据库实现。物理数据库模型根本没有用EF表示,AFAIK。
EF然后在此基础上构建另一个层,EF将其称为概念模型。概念模型通常更加特定于应用程序。基于共享的逻辑模型,同一数据库上的不同应用程序可能具有不同的概念模型。(顺便说一下。EF中的存储模型不必表示数据库的整个逻辑模型,它可以是一个子集。但包含的子集必须将1:1映射到数据库的逻辑模型)
https://stackoverflow.com/questions/3865800
复制相似问题