- 实体框架教程
- 实体框架 - 首页
- 实体框架 - 概述
- 实体框架 - 架构
- 实体框架 - 环境设置
- 实体框架 - 数据库设置
- 实体框架 - 数据模型
- 实体框架 - DbContext
- 实体框架 - 类型
- 实体框架 - 关系
- 实体框架 - 生命周期
- 实体框架 - 代码优先方法
- 实体框架 - 模型优先方法
- 实体框架 - 数据库优先方法
- 实体框架 - 开发方法
- 实体框架 - 数据库操作
- 实体框架 - 并发
- 实体框架 - 事务
- 实体框架 - 视图
- 实体框架 - 索引
- 实体框架 - 存储过程
- 实体框架 - 断开连接的实体
- 实体框架 - 表值函数
- 实体框架 - 原生SQL
- 实体框架 - 枚举支持
- 实体框架 - 异步查询
- 实体框架 - 持久化
- 实体框架 - 投影查询
- 实体框架 - 命令日志
- 实体框架 - 命令拦截
- 实体框架 - 空间数据类型
- 实体框架 - 继承
- 实体框架 - 迁移
- 实体框架 - 急切加载
- 实体框架 - 延迟加载
- 实体框架 - 显式加载
- 实体框架 - 验证
- 实体框架 - 跟踪更改
- 实体框架 - 彩色实体 (Colored Entities, 此处翻译需根据实际含义调整)
- 实体框架 - 代码优先方法
- 实体框架 - 第一个示例
- 实体框架 - 数据注释
- 实体框架 - Fluent API
- 实体框架 - 数据库种子数据
- 实体框架 - 代码优先迁移
- 实体框架 - 多个DbContext
- 实体框架 - 嵌套实体类型
- 实体框架资源
- 实体框架 - 快速指南
- 实体框架 - 有用资源
- 实体框架 - 讨论
实体框架 - 概述
什么是实体框架?
实体框架首次发布于 2008 年,是 Microsoft 用于.NET 应用程序与关系数据库之间交互的主要手段。实体框架是一个对象关系映射器 (ORM),这是一种简化软件中对象与关系数据库的表和列之间映射的工具。
实体框架 (EF) 是一个用于 ADO.NET 的开源 ORM 框架,它是 .NET Framework 的一部分。
ORM 负责创建数据库连接和执行命令,以及获取查询结果并自动将这些结果作为应用程序对象。
ORM 还帮助跟踪对这些对象的更改,并在收到指令时,它还会将这些更改持久保存回数据库。
为什么要使用实体框架?
实体框架是一个 ORM,而 ORM 的目标是通过减少应用程序中使用的数据持久化冗余任务来提高开发人员的生产力。
实体框架可以生成读取或写入数据库数据的必要数据库命令并为您执行它们。
如果要进行查询,可以使用 LINQ to Entities 对域对象进行查询。
实体框架将在数据库中执行相关的查询,然后将结果具体化为域对象的实例,供您在应用程序中使用。
市场上还有其他 ORM,例如 NHibernate 和 LLBLGen Pro。大多数 ORM 通常将域类型直接映射到数据库模式。
实体框架具有更细粒度的映射层,因此您可以自定义映射,例如,通过将单个实体映射到多个数据库表,甚至将多个实体映射到单个表。
实体框架是 Microsoft 建议用于新应用程序的数据访问技术。
ADO.NET 似乎直接引用数据集和数据表的技术。
实体框架是所有前瞻性投资的所在,这种情况已经持续数年了。
Microsoft 建议您对所有新开发都使用实体框架而不是 ADO.NET 或 LINQ to SQL。
概念模型
对于习惯于以数据库为中心进行开发的开发人员来说,使用实体框架最大的变化在于它允许您专注于业务领域。您希望应用程序执行什么功能,而不会受到数据库功能的限制?
在实体框架中,焦点称为概念模型。它是应用程序中对象的模型,而不是用于持久化应用程序数据的数据库模型。
您的概念模型可能与您的数据库模式一致,也可能大相径庭。
您可以使用可视化设计器来定义您的概念模型,然后它可以生成您最终将在应用程序中使用的类。
您可以只定义您的类并使用实体框架的“代码优先”功能。然后实体框架将理解概念模型。
无论哪种方式,实体框架都会弄清楚如何从您的概念模型迁移到您的数据库。因此,您可以对概念模型对象进行查询并直接使用它们。
特性
以下是实体框架的基本特性。此列表是根据最显著的特性以及关于实体框架的常见问题创建的。
- 实体框架是一个 Microsoft 工具。
- 实体框架正在作为开源产品开发。
- 实体框架不再与 .NET 发行周期绑定或依赖。
- 可与任何具有有效实体框架提供程序的关系数据库一起使用。
- 从 LINQ to Entities 生成 SQL 命令。
- 实体框架将创建参数化查询。
- 跟踪对内存中对象的更改。
- 允许插入、更新和删除命令生成。
- 可与可视化模型或您自己的类一起使用。
- 实体框架支持存储过程。