数据点: 设计实体数据模型

实体框架是为 ADO.NET 开发的一种激动人心的新技术。开发人员可以借助它使用逻辑模型(而不是物 理模型)查看数据,并提供了更高的灵活性。

实体框架的核心是实体数据模型 (EDM)。EDM 定义开发人员通过代码进行交互的实体类型、关系和容 器。实体框架将这些元素映射到关系数据库公开的存储架构上。EDM 通过用于定义概念应用程序模型的 XML 向实体框架公开。概念模型可单独定义,也可与用于定义实际存储架构的 XML 以及用于定义两者之 间映射的 XML 一起定义。尽管可以(有时也有必要)手动编辑 XML,但使用新的可视化实体数据模型设 计器工具来创建和修改实体模型和映射会更加容易。

在本月的专栏中,将讨论如何使用新的可视 化 EDM 设计器工具来设计实体模型,以及如何修改用于定义模型和映射的基础 XML。我将首先介绍在实 体框架(包括 LINQ)中进行交互的各个方面,然后讨论 EDM 适合在何处使用。此外,还将演示如何使用 可视化设计器工具创建实体模型和关联的映射。最后,将向您介绍可以帮助您修改和探索模型和映射的几 个窗口。

在整个专栏中,我将解释 EDM 的不同组件(例如 EntityType 和 Association)的作用 。本专栏中的示例演示了如何创建基本实体。请注意,本专栏中的所有示例均使用 Visual Studio 2008 以及相应的 Entity Framework Beta 3(这些需要单独安装)。我使用的数据库是含有 Beta 3 中 示例的经修改的 Northwind 示例数据库。

理解 EDM

在探讨如何创建和管理实体模型之前 ,首先介绍什么是 EDM 以及它与实体框架的其他元素之间如何进行交互。实体框架由许多部分组成,包 括 EDM 规范及关联的映射、与 EDM 交互的 API,以及帮助定义和管理实体模型和映射的工具。设计实体 模型之后,可以使用不同的 API 根据实体模型来编写代码,例如 EntityClient 提供程序或对象服务( 包括 LINQ to Entities)。

EntityClient 数据提供程序具有与传统 ADO.NET 对象类似的模型, 因为它使用 EntityConnection 和 EntityCommand 对象返回 DbDataReader。EntityClient 提供程序的 命令是使用与 T-SQL 类似的实体 SQL 编写的,它对实体模型中定义的实体以及通过对象服务具体化的对 象进行操作,而不是对数据库对象进行操作。您可以通过实体 SQL 或 LINQ to Entities 使用对象服务 与 EDM 进行交互。通过对象服务,您可以利用概念模型的生成类,这些生成类提供了强类型化对象和持 久性等特性(参见图 1)。

图 1 实体框架概述

时间: 2024-09-02 01:26:01

数据点: 设计实体数据模型的相关文章

数据点:分层式体系结构中的实体框架

本专栏基于 ADO.NET EntityFramework 的预发布版本撰写而成.文中包含的所有信息均有可能发生变更. 目录 定义层 构建模型 工作原理 保持更改 删除和添加 总结 当 n 层体系结构的架构师评估任何新技术.模式或策略时,他们必须考虑新的谜团将如何与体系结构相融合.有了实体框架,集成将不再是问题.它可以集成到 n 层体系结构以及单层体系结构中. 在本月专栏中,我将介绍如何使实体框架能够适合于使用 Windows Communication Foundation (WCF).Win

ADO.NET实体数据模型讲解

  ADO.NET是.NET与数据库互操作的核心,而ADO.NET实体数据库则增强了.NET应用程序与数据库的互联能力,通过ADO.NET实体数据模型我们可以很方便的与底层数据库进行强类型的数据互操作.大大的方便了设计人员,从而也提高了数据库操作的安全性. 最近在使用到Silverlight的领域数据服务时遇到一个很特别的问题[在应用程序中的结果和数据库的结果不一样],经过反复的试验,终于找到了问题的根源,那就是ADO.NET实体数据模型依赖于实体键,它的查询会生成实体键的唯一结果集. 现在来看

ADO.NET实体数据模型多表连接查询中的实体键问题

ADO.NET是.NET与数据库互操作的核心,而ADO.NET实体数据库则增强了.NET应用程序与数据库的互联能力,通过ADO.NET实体数据模型我们可以很方便的与底层数据库进行强类型的数据互操作.大大的方便了设计人员,从而也提高了数据库操作的安全性.最近在使用到Siverlight的领域数据服务时遇到一个很特别的问题[在应用程序中的结果和数据库的结果不一样],经过反复的试验,终于找到了问题的根源,那就是ADO.NET实体数据模型依赖于实体键,它的查询会生成实体键的唯一结果集. 现在来看看具体的

数据点:从Silverlight 2观望云服务

本专栏基于 Silverlight 2 的预发布版本.文中的所有信息均有可能发生变更. 使用 Silverlight 的开发人员经常给人一种虚幻感,但这能责怪他们吗?从各种 Web 服务中为富 Internet 应用程序 (RIA) 获取数据正成为主流趋势.Silverlight 应用程序可以与 ASMX Web 服务.Windows Communication Foundation (WCF) Web 服务.具象状态传输 (REST) 服务和传统 XML (POX) 服务进行通信.无论这些服务

数据点

在看到实际的 Entity Framework 命令创建之后,数据库所有者的第一反应往 往是:"什么? 我必须提供对表的访问权?"他们有这种反应是因为 Entity Framework 的核心功能之一便是生成 SELECT.UPDATE.INSERT 和 DELETE 等命令. 在本专栏中,我将带领数据库管理员了解一下 Entity Framework 如何生成命 令,然后介绍一些功能,您可以利用这些功能只允许 Entity Framework 使用视 图与存储过程,从而限制 Enti

配置-关于edmx的位置(实体数据模型)

问题描述 关于edmx的位置(实体数据模型) 初次学习entity framework,新建一个窗口应用程序(空),新建AppCode文件夹,创建一个ef模型. 经过一系列简单的下一步结束之后,问题来了,直接Ctrl+F5或新建一个Web窗口运行,提示错误配置信息.如把edmx放置在项目根目录下,运行一切正常.欢迎对ef有兴趣的同学,绑定同行,也请前辈不吝赐教. **配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消息:

ado-vs2010 添加ADO.net 实体数据模型时错误

问题描述 vs2010 添加ADO.net 实体数据模型时错误 本人学生菜鸟,学习 Entity Framework 的时候添加实体数据模型的时候,ADO实体模型是灰色的,添加后显示如下错误,求各位大神给予解决方案!!谢谢 解决方案 先安装visual studio 2010 sp1 然后安装entity framework tools

matlab如何生成如下图的数据点?

问题描述 matlab如何生成如下图的数据点? 解决方案 你是想拟合还是随便画画,随便画画可以用plot自己打点,要是拟合的话,给定数据,无非就是点.线.面,点有星号.加号等等,这个查下帮助文档 解决方案二: 点组成的实心圆 实心矩形

java-JAVA如何设计实体类????

问题描述 JAVA如何设计实体类???? 场景: 1. 前台要显示一张表格,表格中的栏位对应于数据库中A,B表的数据A与B是一对多的关系. 问题: 1. 我从网上看到JAVA设计实体类一般都是一个实体类对应一张表,可是我要通过A,B表连接查询.这个实体类又该如何设计? 我是刚刚学习JAVA的菜鸟,求大神解惑! 解决方案 设计两个类A,B,一对多关系通过组合实现. 示例代码,B表关联多个A表记录: public class A{ } public class B{ List<A> list; }