ADO.NET 中的新增功能
更新:November 2007
以下是 .NET Framework 3.5 Service Pack 1 发行版为 ADO.NET 引入的新功能。这些功能包括实体框架以及对 LINQ to DataSet 和 LINQ to SQL 改进功能。适用于 SQL Server 的 .NET Framework 数据提供程序 (SqlClient) 已得到增强,可以提供对 SQL Server 2008 的支持。
SqlClient 对 SQL Server 2008 的支持
从 .NET Framework 3.5 Service Pack (SP) 1 开始,适用于 SQL Server 的 .NET Framework 数据提供程序 (System.Data.SqlClient) 完全支持 SQL Server 2008 数据库引擎的所有新功能。您必须安装 .NET Framework 3.5 SP1(或更高版本)才能将这些新功能与 SqlClient 一起使用。有关 .NET Framework 对 SQL Server 2008 的支持的更多信息,请参见 SQL Server 2008 中的新增功能 (ADO.NET)。有关 SQL Server 2008 中新的数据库引擎功能的更多信息,请参见 SQL Server 2008 联机丛书中的新增功能 (SQL Server 2008)。
ADO.NET 数据平台
数据平台是一种多版本策略,通过使开发人员能够针对概念性实体数据模型编程,从而减少所需的编码和维护工作量。在 .NET Framework 3.5 Service Pack (SP) 1 中,ADO.NET 实体框架提供以下数据平台组件:
组件 |
说明 |
---|---|
实体数据模型 (EDM) |
一种将应用程序数据定义为多组实体和关系的设计规范。此模型中的数据支持跨应用程序边界的对象关系映射和数据可编程性。 EDM 数据类型和关系在一个概念模型中定义。此概念模型是一个使用概念架构定义语言 (CSDL) 编写的 XML 架构,可用于构建表示应用程序数据的可编程类。开发人员可以根据需要扩展这些对象,以满足不同的应用需求。有关更多信息,请参见Entity Data Model。 |
对象服务 |
允许程序员通过一组公共语言运行库 (CLR) 类与概念模型进行交互。这些类既可以从概念模型自动生成,也可以单独开发以反映概念模型的结构。对象服务还为实体框架提供基础结构支持,包括状态管理、更改跟踪、标识解析、加载和导航关系、将对象更改传播到数据库修改和实体 SQL 查询生成支持等服务。有关更多信息,请参见Object Services Overview (Entity Framework) |
LINQ to Entities |
一种语言集成查询 (LINQ) 实现,它允许开发人员通过使用 LINQ 表达式和 LINQ 标准查询运算符,根据实体框架对象上下文创建强类型查询。LINQ to Entities 使开发人员能够针对一个概念模型开展工作,在此模型中,可在 Microsoft SQL Server 和第三方数据库之间非常灵活地进行对象关系映射。 有关更多信息,请参见 LINQ to Entities。 |
实体 SQL |
一种基于文本的查询语言,专门用于与实体数据模型进行交互。实体 SQL 是一种 SQL 变体,其中包含针对更高级别的建模概念的查询构造,例如继承、复杂类型和显式关系。开发人员也可以直接将实体 SQL 与对象服务一起使用。有关更多信息,请参见Entity SQL Language Reference。 |
EntityClient |
一种用于与实体数据模型交互的新的 .NET Framework 数据提供程序。EntityClient 遵循 .NET Framework 数据提供程序模式,公开可返回 EntityDataReader 的 EntityConnection 对象和 EntityCommand 对象。EntityClient 与实体 SQL 语言一起使用,可提供与特定于存储的数据提供程序的灵活映射。有关更多信息,请参见 EntityClient and Entity SQL。 |
ADO.NET 数据服务 |
ADO.NET 数据服务框架用于在 Web 或 Intranet 上部署数据服务。这些数据将按照实体数据模型的规范组织成不同的实体和关系。在此模型上部署的数据可通过标准的 HTTP 协议进行寻址。有关更多信息,请参见 ADO.NET Data Services Framework。 |
实体数据模型工具 |
实体框架提供了命令行工具、向导和设计器来帮助生成 EDM 应用程序。EntityDataSource 控件支持基于 EDM 的数据绑定方案。EntityDataSource 控件的编程接口与 Visual Studio 中的其他数据源控件类似。有关更多信息,请参见Entity Data Model Tools。 |
有关 ADO.NET 实体框架的更多信息,请参见Introducing the Entity Framework。
LINQ to DataSet
LINQ to DataSet 为 DataSet 中存储的断开连接的数据提供 LINQ 功能。有关更多信息,请参见 LINQ to DataSet 概述。
LINQ to SQL
在不使用中间概念模型的情况下,LINQ to SQL 支持针对映射为 Microsoft SQL Server 数据库的数据结构的对象模型的查询。每个表由一个单独的类表示,从而将对象模型紧密地耦合到数据库架构中。LINQ to SQL 可将对象模型中的语言集成查询转换为 Transact-SQL 并将其发送到数据库以便执行。当数据库返回结果时,LINQ to SQL 将结果转换回对象。从 .NET Framework 3.5 SP1 开始,LINQ to SQL 支持许多在 Microsoft SQL Server 2008 中引入的新的 SQL 数据类型。有关更多信息,请参见 LINQ to SQL。