框架对于我们的意义就是让我们的编程更规范更简单,下面我们就来介绍介绍ADO.NET数据服务框架。ADO.NET实体框架旨在支持以数据为中心的应用程序和服务,并提供平台用于对数据进行编程,该平台将抽象级别从逻辑关系级别提升为概念级别。通过使开发人员可以在更高的抽象级别上使用数据,实体框架 支持独立于任何特定数据存储引擎或关系架构的代码。有关更多信息,请参见 实体框架简介。
#T#实体框架支持 实体数据模型 (EDM) 在存储和概念级别上定义数据以及这两个级别之间的映射。它还使开发人员能够直接对在概念级别上定义为公共语言运行库 (CLR) 对象的数据类型进行编程。实体框架 提供一些工具,用于基于现有数据库生成 EDM 和相关 CLR 对象。过去在创建基于对象的数据应用程序和服务时,需要大量数据访问代码,而这些工具减少了这些代码的使用,也使根据现有数据库创建面向对象的数据应用程序和服务更为快速。
ADO.NET数据服务框架概述
ADO.NET数据服务框架支持可通过标准 Internet 协议 (HTTP) 访问的数据服务。ADO.NET 数据服务以具象状态传输 (REST) 资源的形式提供数据,可通过 URI 命名约定对这些资源进行标识和寻址。根据实体数据模型 (EDM) 的规范,将数据资源定义为实体和关系。已知的格式(例如 JSON、AtomPub 和 XML)表示为响应 HTTP 谓词(GET、PUT、POST 和 DELETE)而传输的基于文本的数据。
ADO.NET数据服务框架包括用于创建数据服务的服务器 API 和实现查询和更新(由远程应用程序执行)的编程上下文的客户端 API。ADO.NET 数据服务可与许多类型的应用程序一起使用。虽然框架能够基于实体数据模型 (EDM) 有效地部署数据,但也可以从实现 IQueryable 接口的任何数据源创建 ADO.NET 数据服务。在客户端上,任何可发送 HTTP 请求的应用程序都能够与 ADO.NET 数据服务进行交互。
关系数据库管理系统 (RDBMS) 中的数据可通过对象关系模型进行映射并通过 ADO.NET 数据服务进行部署,但 ADO.NET 数据服务并不要求进行对象关系映射。ADO.NET 数据服务框架可以使用实现 IQueryable 的任何数据源。基于 XML 数据源的数据服务、Web 服务、应用程序逻辑和数据访问技术(例如 LINQ to SQL)都可实现 EDM 架构和使用派生自 LINQ 的查询机制。客户端应用程序通过发送 GET、PUT、POST 和 DELETE 请求与 ADO.NET 数据服务进行交互。数据以脚本环境中使用的开放格式(例如 JSON 和 AtomPub)进行传输。公共语言运行库 (CLR) 应用程序可以引用 .NET 客户端库(ADO.NET 数据服务框架),该库中包括可创建用于数据查询和更新的编程上下文的类。
创建 ADO.NET数据服务
在ADO.NET数据服务框架中,创建一个支持创建、读取、更新和删除操作的数据服务分为三个步骤:
1.创建数据模型。ADO.NET 数据服务将部署一个位于概念数据模型之上的 REST 接口。ADO.NET 数据服务本身支持基于 ADO.NET 实体框架的数据模型。ADO.NET 数据服务还提供一种扩展机制,通过此扩展可利用公共语言运行库 (CLR) 对象部署数据模型。从 Microsoft .NET Framework 3.5 开始提供的 AsQueryable 方法能够有效地将 IQueryable<T> 接口添加到实现 IEnumerable<T> 的对象上。通过此新的接口,可以在 .NET Framework 中轻松地基于列表、数组和集合来部署 ADO.NET 数据服务。有关 ADO.NET 数据服务支持的数据模型的更多信息,请参见数据模型(ADO.NET 数据服务框架)。
2.创建数据服务。配置的数据服务可让数据模型通过 HTTP 协议访问。也可以指定由服务器强制实施的缓存和授权策略。
3.选择宿主。ADO.NET 数据服务不直接绑定到网络套接字,因此不会直接接受 HTTP 请求。相反,它们在现有的基础结构(例如 Windows Communication Foundation)中运行。有关 ADO.NET 数据服务支持的宿主的更多信息,请参见数据服务宿主(ADO.NET 数据服务框架).