ADO.NET实体框架经过长时间的发展,很多用户都很了解ADO.NET实体框架了,这里我发表一下ADO.NET实体框架功能和大家讨论讨论。实体框架应用程序要求创建一个定义实体和关系的概念性模型、一个表示基础关系模型的逻辑模型以及二者之间的映射。然后,从概念性模型生成可编程对象模型。
#T#ADO.NET实体框架功能和组件协同工作,可提供端到端的编程环境。实体数据模型 (EDM) 是 实体框架最重要的部分。它指定设计架构,架构用于生成由应用程序代码使用的可编程类。用于保存数据的存储结构由存储架构表示,映射规范将设计架构与存储架构连接起来。概念性实体可以具体化为对象,也可以使用数据读取器以序列化格式读取。开发人员可以根据需要扩展这些对象,以支持不同的应用程序需要。有关更多信息,请参见 实体数据模型。
通过Object Services组件,程序员可以使用从概念性模型生成的公共语言运行库 (CLR) 类。它还为 ADO.NET实体框架功能提供基础结构支持,包括提供各种服务,例如状态管理、更改跟踪、标识解析、加载和导航关系、将对象更改传播到数据库修改以及对 Entity SQL 的查询支持。有关更多信息,请参见对象服务(实体框架)。LINQ to Entities 为查询实体提供语言集成查询 (LINQ) 支持。通过 LINQ to Entities,开发人员可以使用某种受支持的 .NET Framework 编程语言(例如 Visual Basic 或 Visual C#)编写数据库查询。有关更多信息,请参见 LINQ to Entities。
Entity SQL 是类似于 SQL 的存储无关语言,用来查询和处理基于 Entity Data Model (EDM) 的对象的丰富对象图。有关更多信息,请参见 Entity SQL 语言。EntityClient 提供程序通过根据概念性实体和关系访问数据来扩展 ADO.NET 提供程序模型。它执行使用 Entity SQL 的查询。Entity SQL 提供使 EntityClient 能与数据库进行通信的基础查询语言。有关更多信息,请参见 用于实体框架的 EntityClient 提供程序。
ADO.NET元数据组件针对 实体框架的设计时和运行时需求管理元数据。与模型和映射关联的所有元数据都是通过独立于元数据存储所用机制的元数据接口公开的。当前的存储机制使用的文件基于三种 XML 语言:概念性架构定义语言 (CSDL)、存储架构定义语言 (SSDL) 和映射规范语言 (MSL)。有关更多信息,请参见 ADO.NET 元数据。实体框架包含一组不断发展的工具,可生成在概念性模型中表示实体的映射和分部类。有关更多信息,请参见 实体数据模型工具。
实体框架包含一个支持规范命令目录树的最新 SqlClient 数据提供程序。有关更多信息,请参见 用于实体框架的 SQL Server .NET Framework 数据提供程序 (SqlClient)。
体系结构图
下图演示各用户可访问编程接口在 实体框架中的关联方式。向下箭头表示对数据源的查询,向上箭头表示返回的数据。对象服务生成规范命令目录树,该命令目录树表示对概念性模型执行的 LINQ to Entities 或 Entity SQL 操作。EntityClient 提供程序基于 EDM 将此规范命令目录树转换成一个作为对数据源的等效操作的新规范命令目录树。