一、EntityFramework实体框架
官方文档:https://msdn.microsoft.com/en-us/library/aa937723(v=vs.113).aspx
https://msdn.microsoft.com/en-us/library/ee712907(v=vs.113).aspx
CodePlex源代码地址:
https://entityframework.codeplex.com/SourceControl/latest
二、更多介绍
实体框架
实体框架是支持开发面向数据的软件应用程序的一系列技术。实体框架使开发人员能够以特定于域的对象和属性(如客户和客户地址)形式使用数据,而不必自己考虑存储这些数据的基础数据库表和列。借助实体框架,开发人员在处理数据时能够以更高的抽象级别工作,并且能够以相比传统应用程序更少的代码创建和维护面向数据的应用程序。有关更多信息,请参阅实体框架简介。
概述
实体框架是一种对象关系映射机制 (ORM),它能够减少 .NET Framework 开发人员的面向对象编程环境与关系数据库环境之间的不匹配情形。它使开发人员基本上可以通过熟悉的面向对象的技术来与应用程序的概念模型进行交互。在实体框架中,您能够以特定于域的对象和属性(如 客户 和 客户地址 )形式使用数据,而不必考虑存储此数据的基础数据库表和列。开发人员可以对概念模型发出数据访问操作,然后实体框架会将该操作转换为关系数据库操作。
实体框架应用程序有两个主要的层:
- 建模层
- 对象层
建模层包含三个组件:
- 一个概念模型,其中包含特定于域的实体类型和关系(基于实体数据模型 (EDM))
- 一个数据库架构,用于定义表和关系
- 概念模型与数据库架构之间的一个映射
实体框架使用映射组件将针对实体对象的操作(例如创建、读取、更新和删除)转换为数据库中的等效操作。
实体框架的对象层包含类型化的公共语言运行时 (CLR) 对象,这些对象反映了概念模型中定义的实体和关系。这些对象可以由编程语言使用。类型的确切格式由您提供给实体框架的选项控制。
映射和建模
创建映射层和对象层有几种不同的方法:
- 可以使用实体框架工具从现有数据库生成模型。这会生成默认的概念模型和映射,然后可以使用 Entity Data Model Designer 进行自定义。也可以使用工具(例如 Entity Data Model Designer)以图形方式创建概念模型,然后根据该模型中的工具所生成的元数据来生成数据库。
- 可以使用 Code First 开发方法以代码方式定义概念模型。实体框架会根据所定义的对象类型和其他配置来推断概念模型。基于您定义域类型的方式和在代码中提供的其他配置信息的组合,在运行时生成映射元数据。模型可以映射到现有的数据库,也可以从模型生成新的数据库。
使用对象
通过实体框架的对象层,您可以执行以下任务:
- 针对概念模型运行查询。
- 具体化从数据源作为对象返回的数据。
- 跟踪针对对象做所的更改。
- 将对象更改传播回数据源。
- 将对象绑定到控件。